• Sonuç bulunamadı

Genelleştirilmiş Karesel Çoklu Sırt Çantası Problemi İçin Melez Bir Çözüm Yaklaşımı Tuğba Saraç DOKTORA TEZİ Endüstri Mühendisliği Anabilim Dalı Aralık 2007

N/A
N/A
Protected

Academic year: 2022

Share "Genelleştirilmiş Karesel Çoklu Sırt Çantası Problemi İçin Melez Bir Çözüm Yaklaşımı Tuğba Saraç DOKTORA TEZİ Endüstri Mühendisliği Anabilim Dalı Aralık 2007"

Copied!
174
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Genelleştirilmiş Karesel Çoklu Sırt Çantası Problemi İçin Melez Bir Çözüm Yaklaşımı

Tuğba Saraç DOKTORA TEZİ

Endüstri Mühendisliği Anabilim Dalı Aralık 2007

(2)

A Hybrid Solution Method

for the Generalized Quadratic Multiple Knapsack Problem Tuğba Saraç

DOCTORAL DISSERTATION Department of Industrial Engineering

December 2007

(3)

Genelleştirilmiş Karesel Çoklu Sırt Çantası Problemi İçin Melez Bir Çözüm Yaklaşımı

Tuğba Saraç

Eskişehir Osmangazi Üniversitesi Fen Bilimleri Enstitüsü Lisansüstü Yönetmeliği Uyarınca Endüstri Mühendisliği Anabilim Dalı Yöneylem Araştırması Bilim Dalında

DOKTORA TEZİ Olarak Hazırlanmıştır

Danışman: Yrd. Doç. Dr. Aydın Sipahioğlu

Aralık 2007

(4)

Tuğba Saraç’ın DOKTORA tezi olarak hazırladığı “Genelleştirilmiş Karesel Çoklu Sırt Çantası Problemi İçin Melez Bir Çözüm Yaklaşımı” başlıklı bu çalışma, jürimizce lisansüstü yönetmeliğinin ilgili maddeleri uyarınca değerlendirilerek kabul edilmiştir.

Üye : Yrd. Doç. Dr. Aydın Sipahioğlu (Danışman)

Üye : Prof. Dr. Sinan Kayalıgil

Üye : Prof. Dr. İ. Kuban Altınel

Üye : Doç. Dr. Refail Kasımbeyli

Üye : Yrd. Doç. Dr. Muzaffer Kapanoğlu

Fen Bilimleri Enstitüsü Yönetim Kurulu’nun ... tarih ve ...

sayılı kararıyla onaylanmıştır.

Prof. Dr. Abdurrahman KARAMANCIOĞLU

Enstitü Müdürü

(5)

ÖZET

Bu çalışmada önemine rağmen yazında diğer sırt çantası problemlerine kıyasla daha az yer almış olan karesel çoklu sırt çantası problemi (KÇSÇP) ele alınmıştır. Bu problemin çözümüne yönelik olarak bir genetik algoritma (GASS) geliştirilmiş ve önerilen algoritmanın özellikle sırt çantası sayısı fazla olan test problemlerinde oldukça başarılı olduğu gösterilmiştir. Bunun yanı sıra KÇSÇP’nin matematiksel modeli, gerçek hayat problemlerinin çözümünde karşılaşılabilecek bazı özel durumları kapsayacak şekilde genelleştirilmiş ve GASS, genelleştirilmiş modeli çözebilecek şekilde geliştirilmiştir. Ayrıca yine genelleştirilmiş problemin çözümüne yönelik olarak, genetik algoritma ve uygun çözüm temelli genişletilmiş subgradient algoritmasının melezlenmesi ile elde edilmiş olan ikinci bir çözüm yaklaşımı önerilmiştir. Son olarak enjeksiyon makinalarının çizelgelenmesi problemi için bir genelleştirilmiş KÇSÇP modeli ve bu modelin parametrelerinin belirlenebilmesi için iki farklı yaklaşım önerilmiştir. Önerilen çözüm yöntemlerinin performansları, rassal türetilmiş test problemleri kullanılarak araştırılmış, elde edilen sonuçlar ve gelecek çalışmalara ilişkin öneriler sunulmuştur.

Anahtar Kelimeler: Karesel çoklu sırt çantası problemi, genetik algoritma, uygun çözüm temelli genişletilmiş subgradient algoritması (UÇT-GSA), melez algoritma, enjeksiyon makinalarının çizelgelenmesi problemi.

(6)

SUMMARY

The quadratic multiple knapsack problem (QMKP) is a generalization of the quadratic knapsack problem, which is one of the well-known combinatorial optimization problems, from a single knapsack to k knapsacks with (possibly) different capacities. Although it is an important problem, it is not taken in a large scale in the literature. In this study, a genetic algorithm (GASS) is developed for solving the QMKP and it is shown that GASS is very successful especially on the literature test problems which have large number of knapsack. Moreover, the mathematical model of the QMKP is generalized as covering the constraints that we may face in real life problems.

Two distinct solution approaches are proposed for solving the generalized QMKP (G- QMKP). One of them is a genetic algorithm (GAGSS) which has similar genetic operators with GASS. The second one is a hybrid algorithm, that genetic algorithm and modified subgradient algorithm based on feasible values run together. Finally, a G- QMKP model for injection machine scheduling problem and two approaches to determine the parameters of this model are proposed. The performance of the proposed solution approaches are analyzed by using randomly generated test instances.

Successful results are obtained and some suggestions for future studies are presented.

Keywords: Quadratic multiple knapsack problem, genetic algorithm, modified subgradient algorithm based on feasible values (F-MSG), hybrid algorithm, injection machine scheduling problem.

(7)

TEŞEKKÜR

Bu çalışmanın yönlendirilmesi, yürütülmesi ve sonuçlandırılmasındaki teşvik ve desteklerinden ötürü başta danışman hocam Yrd. Doç. Dr. Aydın Sipahioğlu olmak üzere tez izleme komitesi üyeleri hocalarım Prof. Dr. Sinan Kayalıgil ve Yrd. Doç. Dr.

Muzaffer Kapanoğlu’na teşekkürü bir borç bilirim.

Ayrıca çalışmalarım süresince ilgi ve desteğini esirgemeyen değerli hocam Doç.

Dr. Refail Kasımbeyli’ye ve gösterdikleri sabır ve anlayıştan ötürü aileme teşekkürlerimi sunarım.

(8)

İÇİNDEKİLER

Sayfa

ÖZET ... v

SUMMARY ... vi

TEŞEKKÜR ... vii

ŞEKİLLER DİZİNİ ... xii

ÇİZELGELER DİZİNİ ... xiii

1 GİRİŞ ... 1

2 SIRT ÇANTASI PROBLEMLERİ ... 5

2.1 0-1 Sırt Çantası (Binary Knapsack) Problemi ... 7

2.2 Altküme Toplamı (Subset-Sum) Problemleri ... 8

2.3 Sınırlı Sırt Çantası (Bounded Knapsack) Problemi ... 9

2.4 Para Bozma (Change-Making) Problemi ... 10

2.5 Çok Seçenekli (Multiple-Choice Knapsack) Sırt Çantası Problemi ... 11

2.6 Genelleştirilmiş Atama (Generalized Assigment) Problemi ... 11

2.7 Paketleme (Bin-Packing) Problemi ... 12

2.8 Çok Boyutlu Sırt Çantası (Multidimensional Knapsack) Problemi ... 13

2.9 Doğrusal Olmayan Sırt Çantası (Non-Linear Knapsack) Problemi ... 13

2.10 Çok Amaçlı Sırt Çantası (Multi Objective Knapsack) Problemi ... 14

2.11 Çoklu Sırt Çantası (Multiple Knapsack) Problemi ... 15

2.12 Karesel Sırt Çantası (Quadratic Knapsack) Problemi ... 17

2.13 Diğer Sırt Çantası Problemleri ... 19

(9)

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

ALGORİTMA ... 20

3.1 Karesel Çoklu Sırt Çantası (Quadratic Multiple Knapsack) Problemi ... 20

3.2 Genetik Algoritmalar ... 22

3.3 KÇSÇP İçin Geliştirilen Genetik Algoritma ... 27

3.3.1 Kodlama ... 27

3.3.2 Kısıtların ele alınması ... 27

3.3.3 Genetik işlemciler ... 30

3.4 Sonuçlar ... 35

3.4.1 Test Problemleri ... 35

3.4.2 Test Sonuçları ... 36

4 GENELLEŞTİRİLMİŞ KARESEL ÇOKLU SIRT ÇANTASI PROBLEMİ VE ÇÖZÜMÜ İÇİN BİR GENETİK ALGORİTMA ... 42

4.1 Genelleştirilmiş Karesel Çoklu Sırt Çantası Problemi ... 42

4.1.1 Ortak aparat kullanan parçaların varlığı ... 43

4.1.2 Aparat kapasite kullanımlarının sırt çantası kapasitesinden düşülmesi .. 45

4.1.3 Aparatların bazı sırt çantalarına öncelikle atanmalarının sağlanması .... 46

4.1.4 Aparatların yasaklanmış sırt çantalarına atanmalarının önlenmesi ... 47

4.2 G_KÇSÇP İçin Bir Genetik Algoritma ... 51

4.2.1 Yeni karar değişkeninin ele alınması ... 51

4.2.2 Aparat kapasite kullanımlarının sırt çantası kapasitelerinden düşülmesi 51 4.2.3 Aparatların yasaklanmış sırt çantalarına atanmalarının önlenmesi ... 55

4.2.4 Başlangıçta sırt çantalarına atanmış aparatların dikkate alınması ... 55

4.2.5 Aparatların en fazla kopya sayısı kadar sırt çantasına atanmasının garanti edilmesi ... 56

4.3 Sonuçlar ... 57

4.3.1 Test problemlerinin türetilmesi ... 57

4.3.2 GAMS/DICOPT’un KSÇP’nin çözümündeki başarısı ... 63

4.3.3 Test Sonuçları ... 65

(10)

5 GENELLEŞTİRİLMİŞ KARESEL ÇOKLU SIRT ÇANTASI PROBLEMİ İÇİN

MELEZ BİR ÇÖZÜM YAKLAŞIMI ... 70

5.1 Uygun Çözüm Temelli Genişletilmiş Subgradient Algoritması ... 70

5.2 G_KÇSÇP İçin Geliştirilen GA’nın UÇT_GSA ile birleştirilmesi ... 74

5.3 MASS’nın Adımlarının Örnek Bir Problem Üzerinde Gösterilmesi ... 76

5.4 Sonuçlar ... 79

5.4.1 Farklı özelliklere sahip 32 test problemi için test sonuçları ... 80

5.4.2 30 boyutlu test problemleri için test sonuçları ... 83

5.4.3 UÇT_GSA adım parametrelerinin MASS ile elde edilen çözüm üzerine etkisi ... 87

6 GENELLEŞTİRİLMİŞ KARESEL ÇOKLU SIRT ÇANTASI PROBLEMİNİN ENJEKSİYON MAKİNALARININ ÇİZELGELENMESİNDE UYGULANMASI ... 90

6.1 Enjeksiyon Makinalarının Çizelgelenmesi Problemi ... 93

6.2 Geliştirilen Modelin Açıklanmasında Kullanılacak Örnek Problem ... 98

6.3 Enjeksiyon Makinalarının Çizelgelenmesi Probleminin KÇSÇP Olarak Modellenmesi ... 100

6.3.1 Bir işin bazı tezgahlara öncelikle atanmasının sağlanması ... 103

6.3.2 Ortak kalıp kullanan işlerin varlığı ... 103

6.3.3 Bir işin belli makinalara atanmasının önlenmesi ... 104

6.3.4 Kalıp bağlama sürelerinin makina kapasitesinden düşülmesi ve bazı kalıplardan birden fazla olması durumu ... 105

6.4 Model Parametrelerinin Belirlenmesi ... 108

6.4.1 Analitik hiyerarşi süreci yaklaşımı ile parametrelerin belirlenmesi ... 110

6.4.2 Toplam maliyet hesabı yaklaşımı ... 118

6.4.3 Parametre belirleme yaklaşımlarının doğrulanması ... 122

6.5 Enjeksiyon Makinalarının Çizelgelenmesi Probleminin Özellikleri ... 123

6.6 Sonuçlar ... 125

(11)

SONUÇ VE ÖNERİLER ... 127 KAYNAKLAR DİZİNİ ... 133 ÖZGEÇMİŞ ... 141

(12)

ŞEKİLLER DİZİNİ

Şekil Sayfa

3.1. Çaprazlama İşlemcisi Kullanılmadığında ( Kullanılan Parametre Değerleri;

Çaprazlama Oranı = 0, Mutasyon_1 Oranı = 0.4, Mutasyon_2 Oranı = 0.1 ve Mutasyon_2 Parametresi=4) Ortalama ve Eniyi Uyum Değerlerinin İyileşme

Grafiği ... 39

3.2. Mutasyon_1 İşlemcisi Kullanılmadığında (Kullanılan Parametre Değerleri; Çaprazlama Oranı = 0, Mutasyon_1 Oranı = 0.4, Mutasyon_2 Oranı = 0.1 ve Mutasyon_2 Parametresi=4) Ortalama ve Eniyi Uyum Değerlerinin İyileşme Grafiği ... 39

3.3. Mutasyon_2 İşlemcisi Kullanılmadığında ( Kullanılan Parametre Değerleri; Çaprazlama Oranı = 0, Mutasyon_1 Oranı = 0.4, Mutasyon_2 Oranı = 0.1 ve Mutasyon_2 Parametresi=4) Ortalama ve Eniyi Uyum Değerlerinin İyileşme Grafiği ... 40

3.4. Test Problemlerinde Kullanılan Parametre Değerleri (Çaprazlama Oranı=0.8, Mutasyon_1 Oranı=0.4, Mutasyon_2 Oranı=0.1, Mutasyon_2 Parametresi=4) Kullanıldığında Ortalama ve Eniyi Uyum Değerlerinin İyileşme Grafiği ... 41

4.1. n, r ve trj Faktörleri İçin Ana Etkiler Grafikleri ... 68

5.1. n ve trj Faktörleri İçin Ana Etkiler Grafikleri ... 82

5.2. Delta Faktörü İçin Ana Etkiler Grafiği ... 89

6.1. Enjeksiyon Makinasının Şematik Gösterimi ... 94

6.2. qfg Parametresinin Belirlenmesinde Kullanılan Hiyerarşik Yapı ... 111

(13)

ÇİZELGELER DİZİNİ

Çizelge Sayfa

3.1. 42 KÇSÇP Test Probleminde GASS’nin Performansı ... 37

4.1. l ve h Parçalarının Yer Değişiminin Aparatlarının Kapasite Kullanımlarına Etkisi ... 54

4.2. Hua and Huang (2005)’ten Alınan Örnek Türetme Parametre Değerleri Tablosu . 59 4.3. Test Problemlerinin Yapısını Etkileyen 12 Faktör ve Bu Faktörlerin Düşük ve Yüksek Düzeyleri ... 61

4.4. 1/128 Kesirli Deney Tasarımı ... 62

4.5. Karesel Sırt Çantası Problemlerinin GAMS/DICOPT Çözümleri ... 64

4.6. 300 ve 30 Boyutlu Problemlerin Çözümünde Kullanılan GA Parametreleri ... 65

4.7. Test Problemlerinin GAMS/DICOPT ve GAGSS ile Elde Edilmiş Amaç Fonksiyonu Değerleri ... 66

4.8. Varyans Analizi Tablosu ... 68

5.1. MASS ile Çözülen Örnek Problemin Ardıştırmalar Boyunca Hn ve ∆n Değerleri .. 78

5.2. 32 Test Probleminin Çözümünde Kullanıalan MASS Parametreleri ... 79

5.3. Test Problemlerinin GAMS/DICOPT, GAGSS ve MASS ile Elde Edilmiş Amaç Fonksiyonu Değerleri ... 81

5.4. GAMS/DICOPT ve MASS Karşılaştırması İçin Varyans Analizi Tablosu ... 82

5.5. GAGSS ve MASS Karşılaştırması İçin Varyans Analizi Tablosu ... 83 5.6. 30 Boyutlu Test Problemlerinin Türetilmesinde Dikkate Alınan Karakteristikler . 84

(14)

ÇİZELGELER DİZİNİ (devam)

Çizelge Sayfa

5.7. 30 Boyutlu Problem Kümesinin Çözümünde Kullanılan GA Parametreleri ... 85

5.8. 30 Boyutlu Problem Kümesi İçin GAMS/DICOPT, GAGSS ve MASS ile Elde Edilen Çözümler ... 86

5.9. 30_184 Probleminin, Adım Parametreleri Değiştirilerek MASS ile Elde Edilmiş Çözümleri ... 87

5.10. Varyans Analizi Tablosu ... 88

6.1. Enjeksiyon Makinalarının Tonajlarına Göre Grupları ... 97

6.2. Örnek 1 için Ana Ürün Tablosu ... 98

6.3. Örnek 1 için Kalıp Bağlama Süreleri ... 99

6.4. Örnek 1 için Altı Günlük Sipariş Listesi ... 99

6.5. Örnek 2 İçin Ürün Karakteristikleri ... 109

6.6. Örnek 2 İçin Siparişlerin Ürün Cinsleri, Kalan Gün ve Talep Miktarları ... 110

6.7. Karakteristikler için İkili Karşılaştırma Matrisi ve Göreceli Önem Vektörü ... 112

6.8. Kalıp Karakteristiği İçin İkili Karşılaştırma Matrisi ... 114

6.9. Hammadde Karakteristiği İçin İkili Karşılaştırma Matrisi ... 115

6.10. Renk Karakteristiği İçin İkili Karşılaştırma Matrisi ... 115

6.11. Örnek 2 İçin qfg Değerleri ... 117

(15)

ÇİZELGELER DİZİNİ (devam)

Çizelge Sayfa

6.12. Örnek 2 için qij Parametreleri ... 117

6.13. AHP Yaklaşımı için Öncelik Değerleri ... 118

6.14. Örnek 2 İçin Toplam Maliyet Yaklaşımı ile Hesaplanan qfg Parametre Değerleri ... 121

6.15. Örnek 2 İçin Toplam Maliyet Yaklaşımı ile Hesaplanan qij Parametre Değerleri ... 121

6.16. Toplam Maliyet Yaklaşımı İçin Öncelik Tablosu ... 122

6.17. Enjeksiyon Makinaları Çizelgeleme Probleminin Özellikleri ... 124

6.18. 100 Boyutlu Problem İçin Test Sonuçları ... 125

6.19. 500 Boyutlu Problem İçin Test Sonuçları ... 126

(16)

BÖLÜM 1

GİRİŞ

Sırt Çantası Problemi (SÇP) çok basit bir yapıya sahip olmasına rağmen kombinatorik özellik taşıması sebebiyle tamsayılı programlamanın en çok ilgi gören konularından birisi olmuştur. Ayrıca SÇP kesme problemleri gibi bazı zor ve önemli problemlerin alt problemi olması nedeniyle de araştırmacılar tarafından yoğun ilgi görmektedir. Öte yandan, SÇP’nin pek çok farklı uygulamasına dair farklı problemler türetilmiş ve bunlar için yine farklı çözüm yöntemleri de önerilmiştir. Özetle SÇP’yi önemli bir problem haline getiren nedenlerden bazıları şunlardır (Martello and Toth, 1990);

• Basit bir yapısı olmasına rağmen problemin NP-zor problemler sınıfına dâhil olması ve halen zor ve büyük boyutlu problemler için etkin çözüm yöntemlerine gereksinim duyulması.

• Gerçek yaşamda birçok uygulama alanına sahip olması (kesme problemleri, bütçe problemleri v.b.).

• Sırt çantası problemleri bazı zor problemlerin alt problemi olması sebebiyle, bu problemin çözümü için geliştirilecek çözüm yöntemlerinin geniş bir alanda kullanılabilecek olması.

Sırt çantası problemleri uygulama alanlarının genişliği sebebiyle günümüzde de önemini korumaya devam etmektedir. SÇP, taşıdığı özelliklere göre farklı matematiksel modeller ile tanımlanmaktadır ve yazında farklı başlıklar altında incelenmektedir.

Bu çalışmada önemine rağmen yazında diğer sırt çantası problemlerine kıyasla daha az yer almış olan karesel sırt çantası probleminin, çok sırt çantalı olması durumu ele alınmıştır. Karesel sırt çantası problemi, amaç fonksiyonun karesel olması nedeniyle klasik sırt çantası probleminden farklıdır. Amaç fonksiyonundaki karesellik zaten çözümü zor olan problemin, daha da zorlaşmasına yol açmaktadır. Çoklu SÇP ise,

(17)

problemde birden fazla sırt çantasının olması halidir. Örneğin, sırt çantasının makina, parçaların makinalara yüklenecek işler olduğu makina yükleme probleminde yükleme yapılacak birden fazla makinanın var olması durumunda çoklu sırt çantası problemi ortaya çıkmaktadır. Genelleştirilmiş karesel çoklu sırt çantası modeli ise hem karesel amaç fonksiyonunu, hem çok sayıda sırt çantasını ve hem de gerçek hayatta karşılaşılabilecek bazı özel durumları içeren kısıtları kapsamaktadır. Günümüze kadar karesel sırt çantası problemini ele alan (Gallo et.al., 1980, Chaillou et.al., 1986, Michelon and Veuilleux, 1996, Billionnet and Calmels, 1996, Billionnet and Soutif, 2003, Julstrom, 2005) ve çoklu sırt çantası problemini inceleyen (Eilon and Christofides, 1971, Hung and Fisk, 1978, Martello and Toth, 1980, 1981a, 1981b, Pisinger, 1999, Shachnai and Tamir, 2004, Ang et.al., 2007) çalışmalar vardır. Karesel çoklu sırt çantası problemi için ise sadece bir çalışmaya (Hiley and Julstrom, 2006) erişilebilmiştir. Bu çalışma kapsamında geliştirilmiş olan genelleştirilmiş karesel çoklu sırt çantası problemi ise henüz yazında ele alınmamıştır.

Bu çalışmada, hem genelleştirilmiş karesel çoklu sırt çantası problemi tanımlanarak çözümü için melez bir çözüm yaklaşımı önerilmiş hem de problemin enjeksiyon makinalarının çizelgelenmesi problemine uygulanabileceği gösterilmiştir.

Enjeksiyon makinalarının çizelgelenmesi problemi, farklı özelliklere sahip paralel makinaların olduğu ve bu makinaların ortak kalıp kullandıkları ve işlerin sıralamaya bağlı olarak farklı hazırlık süreleri gerektirdiği işletmelerde karşılaşılan bir problemdir.

Yazında bu problem üzerine yapılmış sadece iki çalışmaya (Tanev et.al., 2004, Dastidar and Nagi, 2005) erişilebilmiştir. Bu çalışmalarda ise probleme klasik çizelgeleme modelleri kullanılarak çözüm yaklaşımları geliştirilmiştir. Bu nedenle, genelleştirilmiş karesel çoklu sırt çantası modelinin enjeksiyon makinalarının çizelgelenmesi probleminin çözümünde kullanılabileceği ilk kez bu çalışma ile önerilmektedir.

Sırt çantası problemleri NP-zor sınıfına dahil olan kombinatorik eniyileme problemleridir (Martello and Toth, 1990). KÇSÇP ise tüm karesel parametrelerin (qij) sıfıra eşit olduğu ve yalnızca bir sırt çantası söz konusu olduğu durumda SÇP’ye indirgenebildiğinden NP-zordur (Hiley and Julstrom, 2006). Bu nedenle problemin çözümü için etkin bir sezgisel yaklaşımın kullanılması yerinde olacaktır. Bir meta-

(18)

sezgisel olan genetik algoritmalar, rassal arama esaslı yöntemlerdir. Temel prensip olarak, biyolojideki evrim sürecini taklit etmektedirler. İlk Genetik Algoritma (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. Sezgisel yaklaşımlar içinde, SÇP’deki başarılı uygulamaları ile GA öne çıkmaktadır.

Doğrusal olmayan modellerin çözümünde uygulanan temel yaklaşım Kuhn- Tucker koşulları iken, 60’lı yılların ortalarından itibaren subgradient temelli yaklaşımlar önerilmiş ve bu alanda değişik yöntemler geliştirilmiştir. 1998 yılında Rockafellar ve Wets çalışmalarında, sivri (sharp) Lagrange fonksiyonunu vermiştir. 2002’de Gasimov tarafından bu fonksiyonu kullanan Genişletilmiş Subgradient Algortiması (GSA) önerilmiş ve bu algoritma ile doğrusal olmayan modellerin ve özellikle de bazı tamsayılı modellerin etkin bir şekilde çözülebileceği gösterilmiştir. Yöntemin temel avantajı, çözüm sürecinin yakınsak olduğunun ispatlanmış olmasıdır. Ayrıca diğer Lagrange fonksiyonlarından farklı olarak, çözüm koniler aracılığıyla taranmakta ve böylece sıfır ikil aralığın elde edilmesi sağlanmaktadır. Sürekli problem üzerine herhangi bir dışbükeylik veya türevlenebilirlik şartı olmaması da yöntemin önemli bir avantajıdır. Ancak sayılan üstünlüklerin yanı sıra yöntemin kullanılmasında karşılaşılan bazı zorluklar da mevcuttur. Bu zorluklar, daha çok GSA’nın temel adımındaki kısıtsız problemin çözümünde kullanılan tekniklerin yerel en iyi noktalara takılmasından kaynaklanmaktadır. Diğer bir zorluk da, adım uzunluğu hesabında verilen üst sınırın belirlenmesiyle ilgilidir. Bu zorlukları ortadan kaldırmak amacıyla yöntem geliştirilerek, 2004 yılında Gasimov ve diğerleri tarafından Uygun Çözüm Temelli Genişletilmiş Subgadient Algoritması (UÇT_GSA) adıyla verilmiştir. 2007 yılında Gasimov ve Üstün algoritmanın yazında çok ele alınmış zor problemlerden birisi olan karesel atama problemlerini çözmedeki başarısını ortaya koymuşlardır. Bu çalışmada yazarlar, yazın test problemlerinin elde edilebilmiş en iyi çözümlerini ve alternatif çözümlerini yazındaki diğer çözüm yöntemlerine kıyasla çok daha kısa sürede elde

(19)

etmiştir. Karesel amaç fonksiyonuna sahip, 0-1 tamsayılı bir problem olan karesel atama probleminin çözümünde elde edilen başarılı sonuçlar, yöntemin benzer özellikler taşıyan karesel çoklu sırt çantası probleminde de başarısının araştırılmasının faydalı olacağını düşündürmüştür.

Bu çalışmada karesel çoklu sırt çantası problemi ve Genelleştirilmiş Karesel Çoklu Sırt Çantası Problemi (G_KÇSÇP) için birer GA geliştirilmiş ve bu algoritmaların başarıları test problemleri kullanılarak araştırılmıştır. Ancak esas olarak G_KÇSÇP ve çözümü için geliştirilmiş olan UÇT_GSA ile GA’nın melezlenmesinden oluşan çözüm yaklaşımı üzerinde durulmuştur. Ayrıca enjeksiyon makinalarının çizelgelenmesi probleminin G_KÇSÇP modeli ile çözülebileceği de gösterilmiştir. Bu problemin, gerçek hayatta karşılaşılabilecek özelliklere sahip 500 parça, 300 kalıp ve 40 makinanın olduğu büyük örneğine GAMS/DICOPT ile çözüm bulunamamasına rağmen önerilen yöntemle yaklaşık bir saatte iyi bir çözüm bulunabildiği gösterilmiştir.

Söz konusu çalışmanın yazım planı izleyen şekilde tasarlanmıştır. İkinci bölümde sırt çantası problemleri genel olarak tanıtılmış ve yazında sıklıkla yer alan sırt çantası problemi türleri ile matematiksel modelleri açıklanmıştır. Karesel çoklu sırt çantası problemi ve bu problem için geliştirilen GA, üçüncü bölümde açıklanmıştır. Gerçek hayat problemlerinin çözümünde karşılaşılabilecek bazı özel durumların modele eklenmesi ile elde edilen genelleştirilmiş karesel çoklu sırt çantası problemi ve klasik karesel sırt çantası problemi için geliştirilen genetik algoritmanın, genelleştirilmiş modeli çözebilecek şekilde nasıl geliştirildiği dördüncü bölümde ayrıntıları ile verilmiştir. Beşinci bölümde. uygun çözüm temelli genişletilmiş subgradient algoritması ile genelleştirilmiş problemin çözümüne yönelik olarak önerilmiş olan genetik algoritmanın melezlenmesi ile elde edilmiş olan melez çözüm yaklaşımı tanıtılmış, türetilen test problemlerinde elde edilen başarılı sonuçlar açıklanmıştır. Son olarak altıncı bölümde genişletilmiş KÇSÇP’nin enjeksiyon makinalarının çizelgelenmesi probleminin çözümünde nasıl kullanılabileceği araştırılmıştır. Elde edilen sonuçlar ve gelecek çalışmalara ait öneriler ise yedinci bölümde sunulmuştur.

(20)

BÖLÜM 2

SIRT ÇANTASI PROBLEMLERİ

Sırt çantası problemi (SÇP) 50’li yıllarda Dantzing tarafından yapılan öncü çalışmalardan beri üzerinde yoğun olarak çalışılan bir problemdir. Özellikle son yıllarda hem kuramsal hem de uygulamalı problemlerle çalışan araştırmacıların ilgi odağı olmuş, tamsayılı doğrusal programlama problemlerinden birisidir.

Tamsayılı doğrusal programlama, değişkenlerinden bazılarının veya tümünün tamsayılı (ya da kesikli) değerler aldığı bir doğrusal programlama problemidir.

Doğrusal bir modelin genel hali izleyen şekilde verilebilir.

(LP) enb{cx:axb,x≥0}

Burada A, mxn boyutlarında katsayılar matrisi; c, n boyutlu katkı satır vektörü; b, m boyutlu sağ taraf sabitleri sütun vektörü ve x, n boyutlu karar değişkenleri sütun vektörüdür. Bu durumda bazı değişkenlere tamsayı değer alma şartı getirilirse;

(Doğrusal) Karma Tamsayılı Model (MIP)elde edilir.

(MIP) Ax + Gy b

x 0, y 0 ve tamsayı kısıtları altında,

enb{cx + hy}

Burada G, mxp boyutlarında katsayılar matrisi; h, p boyutlu satır matrisi ve y, m boyutlu karar değişkenleri sütun vektörüdür. Eğer tüm karar değişkenleri tamsayı değer alıyorsa Bütünüyle Tamsayılı Model (IP) söz konusudur. Eğer tüm karar değişkenlerinin alabileceği değerler sıfır ya da bir değerleri ile sınırlandırılırsa; hemen

(21)

hemen tüm sırt çantası problemlerinin de için de yer aldığı 0-1 Tamsayılı Model (BIP) ortaya çıkmaktadır.

(BIP) Ax b x {0,1}n kısıtları altında, enb {cx}

Tamsayılı problemler hakkında ayrıntılı bilgilere Wolsey (1998) ve Nemhauser ve Wolsey (1988)’in tamsayılı programlama kitaplarından erişmek mümkündür.

0-1 doğrusal sırt çantası problemi üzerinde en çok çalışılan SÇP’dir ve SÇP denildiğinde çoğunlukla, 0-1 doğrusal sırt çantası problemi anlaşılmaktadır (Martello ve Toth, 1990). Bunun dışında, farklı tipte sırt çantası problemleri mevcuttur. Bu bölümde yazında sıklıkla yer almış olan sırt çantası problemleri tanıtılmaya çalışılmıştır. En temel sırt çantası problemi olması sebebiyle 0-1 SÇP, son yıllardaki artan önemi nedeniyle çok amaçlı SÇP ve bu çalışmanın kapsamı içinde yer almaları nedeniyle de çoklu ve karesel sırt çantası problemleri diğerlerine kıyasla daha kapsamlı olarak ele alınmıştır. Sırt çantası problemleri ile ilgili daha ayrıntılı bilgilere Martello ve Toth (1990) ile Kellerer ve diğerlerinin (2004) sırt çantası problemlerini konu alan kitaplarından ve sırt çantası problemleri ile ilgili yapılmış yayın taramalarından erişmek mümkündür. Konu ile ilgili yapılmış yakın tarihli yayın taramalarından bazıları Martello ve diğerleri (2000) tarafından, 0-1 sırt çantası problemlerinin çözümünde kullanılan güncel tekniklerin ele alındığı, Toth (2000) tarafından 0-1 sırt çantası problemlerinin de incelendiği kombinatorik problemlerin kesin çözüm yöntemlerinin tarandığı, Bretthauer ve Shetty (2002) tarafından, doğrusal olmayan sırt çantası problemlerinin, çözüm yöntemlerinin ve uygulamalarının ele alındığı ve Freville (2003) tarafından, çok boyutlu 0-1 sırt çantası konulu çalışmalardır.

(22)

2.1 0-1 Sırt Çantası (Binary Knapsack) Problemi

0-1 sırt çantası problemi en temel sırt çantası problem tipidir ve tamsayılı problemler içerisinde üzerinde en çok çalışılmış olanıdır. 1950’li yıllarda Bellman’ın dinamik programlama yaklaşımı kullanılarak 0-1 sırt çantası problemlerinin ilk kesin çözüm algoritması geliştirilmiştir. 1957 yılında Dantzing LP gevşetme ve z için önerdiği üst sınır ile bu tip problemlerin çözümüne çok önemli bir katkıda bulunmuştur. İzleyen yirmi yıl boyunca SÇP üzerine yapılan çalışmaların hemen hepsinde bu yaklaşım temel alınmıştır. 60’lı yıllarda Gilmore ve Gomory sırt çantası problemlerinin çözümünde dinamik programlama yaklaşımını kullanmışlardır. 1967 yılında Kolesar ilk kez dal- sınır algoritmasını SÇP probleminin çözümü için kullanmıştır. 70’li yıllarda dal-sınır algoritması temelli yaklaşımlar oldukça geliştirilmiş ve çok sayıda değişkeni olan modellerin çözümünde etkin bir şekilde kullanılmışlardır. En iyi bilinen dal-sınır algoritması Horowitz ve Sahni tarafından geliştirilmiştir. 1973 yılında Ingargiola ve Korsh değişken sayısının önemli ölçüde azaltılmasına olanak tanıyan ilk indirgeme yöntemini (reduction procedure) kullanmışlardır. 80’li yıllarda büyük boyutlu problemlerin çözümü üzerine yoğunlaşılmıştır. Değişkenlerin etkin bir şekilde sıralanması algoritmaların hızlarının artmasını sağlamıştır. (Martello and Toth, 1990) 80’li yıllardan günümüze değin çözülebilen problem boyutlarının artmasını ve çözüm süresinin azalmasını sağlayan pek çok gelişme kaydedilmiştir. Günümüzde 10000 değişkene sahip SÇP problemlerinin bile en iyi çözümleri birkaç saniye içinde elde edilebilmektedir (Kellerer and Pferschy, 2004).

SÇP probleminin matematiksel modeli aşağıda verilmiştir.

j = {1, . . . , n} parçalara ait dizin kümesidir.

xj : j. parçanın seçilip seçilmediğini gösteren karar değişkenidir. j. karar değişkeninin 1 değerini alması j. parçanın seçildiği 0 değerini alması ise seçilmediği anlamına gelmektedir.

pj : j. parçanın kârı wj : j. parçanın ağırlığı

c : sırt çantasının kapasitesidir.

(23)

(SÇP)

= n

j j

jx c

w

1

xj ∈{0,1} j=1,...,n kısıtları altında,

enb z =

= n

j j jx p

1

Burada, pj, wj ve c pozitif tamsayılardır. n w c ve w

j j >

=1

j ≤ c , j = 1,..,n olduğu kabul edilmektedir. Problemin amacı toplam kârı enbüyükleyecek şekilde hangi parçaların seçilmesi gerektiğini belirlemektir.

0-1 SÇP’ne örnek olarak yatırım problemleri verilebilir. Yatırım yapma kararı verilecek n farklı proje olduğu olduğunda, her proje için yapması gereken yatırımlar (wj), ve bu yatırımın yapılması durumunda projeden elde edilmesi beklenen getiriler (pj)’dir. Bu durumda bütçeyi (c) aşmadan, kârı enbüyüklemek için hangi projelere yatırım yapılması gerektiğinin (xj) belirlenmesi problemi bir SÇP problemidir.

2.2 Altküme Toplamı (Subset-Sum) Problemleri

Bu problem, parçaların ağırlıkları ve kârlarının birbirine eşit (wj=pj, j=1,...,n) alındığı 0-1 sırt çantası probleminin özel bir durumudur. Bu şekliyle problem, xj’ler içinden kapasiteyi (c) aşmayan en büyük toplamı verebilecek alt kümeyi seçme problemine dönüşmüş olur. Bu problemler üzerine çalışmalar halen güncelliklerini korumaktadır. Kellerer ve diğerleri (2003) Altküme Toplamı Problemi (ATP)’ni 5000 değişkene kadar 1/1000’den daha küçük bir hata payı ile çözebilen etkin bir çözüm yaklaşımı geliştirmeyi başarmışlardır. Karar değişkeni ve parametrelerin tanımları 0-1 sırt çantası problemi için yapılmış tanımlarla aynı olmak üzere ATP’nin matematiksel modeli aşağıda verilmiştir.

(24)

(ATP)

= n

j wjxj c

1

xj ∈{0,1} j=1,...,n kısıtları altında,

enb z =

= n

j j jx w

1

Parçaların karlarının ağırlıkları ile doğru orantılı olduğu yükleme problemleri ATP’ne örnek olarak verilebilir. Kamyona yüklenebilecek n farklı parça olduğunda, her parçanın ağırlığı (wj), ve bu parçanın yüklenmesi durumunda elde edilmesi beklenen getiriler a(wj)’dir. Bu durumda kamyonun taşıyabileceği ağırlık miktarını (c) aşmadan, kârı enbüyüklemek için hangi parçaların yüklenmesi gerektiğinin (xj) belirlenmesi problemi bir ATP problemidir.

2.3 Sınırlı Sırt Çantası (Bounded Knapsack) Problemi

Sınırlı sırt çantası problemi, karar değişkenlerinin 0 ya da 1 dışında da tamsayı değer alabildiği ancak bu değerin bir üst sınır ile (bj) sınırlandırıldığı problemdir.

Tamsayılı sırt çantası problemleri üzerinde yürütülen çalışmalar günümüzde de devam etmektedir. 2004 tarihli Kohli ve diğerlerinin çalışmasında tamsayılı sırt çantası probleminin çözümünde kullanılan açgözlü sezgisellerin performansları incelenmiştir.

Sınırlı sırt çantası (SLSÇP) probleminin matematiksel modeli izleyen şekildedir.

(SLSÇP)

= n

j j

jx c

w

1

0 ≤ xj ≤ bj j=1,...,n

xj ≥ 0 ve tamsayı j=1,...,n kısıtları altında,

enb z =

= n

j j jx p

1

(25)

Bu tip problemlere örnek olarak tezgâh yükleme problemleri düşünülebilir.

Sipariş üzerine üretim yapan bir firmada bir vardiya için tezgâhta üretilmesi gereken ürünleri ve üretim adetleri (xj) belirlenecek olsun. Tezgâhın çalışma süresi (c) vardiya süresine bağlı olarak sınırlıdır. Her ürün tezgâhta faklı işleme süresine (wj) sahiptir ve her ürünün üretilebileceği en büyük miktar (bj) talebi ile sınırlıdır. Her ürün, üretimi ile işletmeye farklı getiriler (pj) (zamanında teslim ya da sağlanacak parasal kazanç gibi farklı getiriler tariflemek mümkündür) kazandırmaktadır.

Sınırsız sırt çantası problemi ise sınırlı sırt çantası probleminin özel bir durumudur. Bir parçadan seçilebilecek adet (bj=+∞) için bir sınırlama yoktur. Karar değişkenleri kapasite kısıtını aşmamak şartıyla herhangi bir tamsayı değer alabilirler.

2.4 Para Bozma (Change-Making) Problemi

Bu problem, parçaların kârlarının bire eşit (pj=1, j=1,...,n) olduğu ve kapasite kısıtının eşitlik olarak ele alındığı sınırlı sırt çantası probleminin özel bir durumudur.

Para bozma probleminin (PBSÇP) matematiksel modeli aşağıda verilmiştir.

(PBSÇP)

= n =

j j

jx c

w

1

0 ≤ xj ≤ bj j=1,...,n

xj ≥ 0 ve tamsayı j=1,...,n kısıtları altında,

enb z =

= n

j

xj 1

Bu problem, bir kasiyerin en çok (ya da en az) sayıda bozuk para kullanarak toplamda c kadar para üstü vermesi olarak düşünülebilir. Tüm j’ler için bj=+∞ ise Sınırsız Para Bozma problemi söz konusudur.

(26)

2.5 Çok Seçenekli (Multiple-Choice Knapsack) Sırt Çantası Problemi

Bu problem, her bir j parçasının (xij) bir küme (Ni) içinden seçildiği bir sırt çantası problemi tipidir. Burada birbiri ile kesişmeyen m adet parça kümesi söz konusudur. N1, ... , Nm. Seçim her kümeden bir adet olmak üzere kapasiteyi (c) aşmayacak ve toplam kârı en enbüyükleyecek şekilde yapılmaktadır. Alt kümelerdeki her parça farklı ağırlık (wij) ve kâr (pij) değerlerine sahiptir.

Çok seçenekli sırt çantası probleminin (ÇSSÇP) matematiksel modeli aşağıda verilmiştir.

(ÇSSÇP) ∑

=

n

j wijxij c

1

j=1,...,n

m= =

i xij

1 1

xij∈{0,1} i=1,...,m, j Ni

kısıtları altında, enb z = ∑∑

=

= n

j ij ij

m

i

x p

1 1

2.6 Genelleştirilmiş Atama (Generalized Assigment) Problemi

Genelleştirilmiş atama problemi genellikle sırt çantası problemleri başlığı altında sınıflandırılmasalar da, bu problemi seçilecek parçaların ağırlık ve kârlarının yerleştirilecekleri konteynıra göre farklılık gösterdiği 0-1 tamsayılı sırt çantası problemleri olarak ele almak mümkündür. Genelleştirilmiş atama probleminin (GAP) matematiksel modeli aşağıda verilmiştir.

(27)

(GAP)

i=1,...,m

= n

j

i ij

ijx c

w

1

j=1,...,n

=m =

i xij 1

1

xij ∈{0,1} i=1,...,m, j=1,...,n kısıtları altında,

enb z =

∑∑

= =

m

i n

j ij ijx p

1 1

Bu probleme örnek olarak çok kamyonun varolduğu kamyon yükleme problemi düşünülebilir. Bu problemde yükleme yapılacak n adet farklı malzeme ve bu malzemelerin yüklenebileceği m adet farklı kamyon vardır. Kamyonlar faklı yükleme hacimlerine (ci) sahiptirler ve yakıt tüketimleri ve bakım masrafları farklılık gösterdiğinden ürünlerden elde edilecek net getirileri (pij) etkilemektedirler. Ayrıca farklı kasalara sahip olduklarından her ürün yerleştirileceği kamyona göre faklı hacim (wij) kullanmaktadır. Bu durumda en yüksek geliri elde edebilmek için hangi ürünün hangi kamyona yüklenmesi gerektiğine (xij) karar verme problemi bir GAP problemidir.

2.7 Paketleme (Bin-Packing) Problemi

Paketleme problemi genellikle sırt çantası problemleri grubuna dahil edilmemesine rağmen tüm konteynırların eşit kapasiteye (c) sahip olduğu çok seçenekli altküme-toplam problemleri olarak ele alınabilirler. Burada amaç, parçaların en az sayıda konteynır kullanacak şekilde seçilmesidir. Kullanımına karar verilecek m farklı konteynır mevcuttur. yi’nin 0 değerini alması i. konteynırın kullanılması, 1 değerini alması ise kullanılmaması kararına karşılık gelmektedir. xj ise j. parçanın i. konteynır için seçilmesi durumunda 1 seçilmemesi durumunda ise 0 değerini almaktadır.

Bu açıklamalar ışığında paketleme probleminin (PP) modeli aşağıda verilmiştir.

(28)

(PP)

i=1,...,m

=

n

j

i ij

jx c y

w

1

) 1 (

j=1,...,n

= m =

i

xij 1

1

yi ∈{0,1} i=1,...,m

xij ∈{0,1} i=1,...,m, j=1,...,n kıstları altında,

enb z =

= m

i

yi 1

2.8 Çok Boyutlu Sırt Çantası (Multidimensional Knapsack) Problemi

Konteynıra yerleştirirken göz önüne alınması gereken yükseklik, derinlik, genişlik gibi birden fazla kısıt olması durumunda ortaya çıkar. Yazında, 0-1 ya da tamsayılı karar değişkenlerinin kullanıldığı modeller mevcuttur. İzleyen model, m adet kısıtın söz konusu olduğu ve wij’nin i. konteynır için seçilen j. parçanın ağırlığı anlamına geldiği çok boyutlu sırt çantası probleminin (ÇBSÇP) modeli aşağıda verilmiştir.

(ÇBSÇP)

i=1,...,m

= n

j

i j

ijx c

w

1

xj ∈{0,1} j=1,...,n kısıtları altında,

enb z =

= n

j j jx p

1

2.9 Doğrusal Olmayan Sırt Çantası (Non-Linear Knapsack) Problemi

Doğrusal olmayan sırt çantası problemi, en genel haliyle, karar değişkenlerinin alabileceği değerleri sınırlayan bir kısıta sahip doğrusal olmayan eniyileme problemi

(29)

olarak tanımlanabilir. Bretthauer ve Shetty (2002) yakın tarihli çalışmalarında bu alanda yapılan 50’yi aşkın çalışmayı tarayarak, problemi sürekli ve kesikli değişken içermesi, dışbükey ya da içbükey, ayrıştırılabilir ya da ayrıştırılamaz fonksiyonlara sahip olması, özel ek kısıtlarının olup olmaması gibi ölçütlere göre sınıflandırmış ve her sınıfa ait çözüm yöntemleri üzerinde durmuşlardır. Doğrusal olmayan sırt çantası problemlerinin finansal modelleri, ürün ve ambar yönetimini, üretimde karşılaşılan kuyruk serim modellerini, bilgisayar sistemlerini ve sağlık sektörünü kapsayan çok geniş bir uygulama alanı vardır.

2.10 Çok Amaçlı Sırt Çantası (Multi Objective Knapsack) Problemi

Birden çok amacın eniyilenmesi söz konusu olduğunda çok amaçlı sırt çantası problemi ortaya çıkmaktadır. pij j parçanın seçilmiş olmasının i. amaç fonksiyonuna katkısı olmak üzere (i=1,…,t) t adet amaç fonsiyonu olan çok amaçlı sırt çantası probleminin (ÇASÇP) matematiksel modeli aşağıda verilmiştir.

(ÇASÇP)

= n

j wjxj c

1

xj ∈{0,1} j=1,...,n kısıtları altında,

enb

⎢ ⎤

∑ ∑

=

=

n

j tj j

n

j p jxj p x

1 1 1 ,...,

Çok amaçlı sırt çantası problemlerinin yatırım bütçelemesi, kargo yükleme, kesme problemleri gibi birçok uygulama alanları vardır (Martello ve Toth, 1990). Son yıllarda, Kanada’nın batı kıyıları için deniz feneri yeri belirleme (Bkz. Jenkins, 2002) ve bina yenileme projelerinde, yer alması gereken yenileme faaliyetlerinin belirlenmesi (Bkz. Alanne, 2004) problemleri de çok amaçlı 0-1 sırt çantası problemi olarak ele alınmıştır.

(30)

Yazında daha önce ÇASÇP’nin çözümü için kullanılmış olan birçok yöntem mevcuttur. Kesin çözüm yöntemleri olarak sayabileceğimiz dinamik programlama yaklaşımı (Bkz. Klamroth and Wiecek, 2001; Shih, 2005) ve problemi en kısa yol problemine dönüştürerek, etiketleme algoritması (Bkz.Captivo et al., 2003) gibi yöntemleri kullanan bir kaç çalışma dışında ÇASÇP’nin çözümünde genellikle sezgisel yöntemlerin kullanıldığını söylemek yanlış olmayacaktır. Evrimsel algoritmalar (Jaszkiewics, 2004; Kumar and Banerjee, 2006), tavlama benzetimi (Teghem et al., 2000), çok amaçlı problemleri çözmeye uygun bir yapıda olan ve popülasyon temelli bir arama yöntemi olan dağınık arama (scatter search) arama (Silva et al. 2006 a; Silva et al. 2006 b), paralel hesaplamaya benzeyen özel bir hesaplama yöntemi olan DNA hesaplama (DNA computing) (Henkel et al., 2006) ve probleme özel sayılabilecek sezgisel ve melez yöntemler (Cho and Kim, 1997; Jenkins, 2002; Zhang and Ong, 2004;

Laumanns et al., 2006; Ahmed and Elettreby, 2006) yazında daha önce ÇASÇP’nin çözümünde kullanılmış yöntemlerden bazılarıdır. Kesin çözüm yöntemleri ile ancak küçük ve orta büyüklükteki örnek problemler çözülebilmiştir. Büyük boyutlu problemler ise ancak sezgisel yöntemler kullanılarak ele alınabilmişlerdir (Silva et al., 2006 b).

2.11 Çoklu Sırt Çantası (Multiple Knapsack) Problemi

Çoklu sırt çantası problemi, 0-1 sırt çantası probleminin m adet sırt çantasının var olduğu duruma genelleştirilmiş halidir. Çoklu sırt çantası probleminin (ÇSÇP) matematiksel modeli aşağıda verilmiştir. Karar değişkeni xij, j. parça i. sırt çantası için seçildiyse 1, seçilmediyse 0 değerini almaktadır. Burada ci i. sırt çantasının kapasitesidir.

(ÇSÇP)

i=1,...,m

= n

j

i ij

jx c

w

1

j=1,...,n

= m

i

xij 1

1

xij∈{0,1} i=1,...,m, j=1,...,n

(31)

kısıtları altında, enb z =

∑ ∑

=

= n

j ij j m

i

x p

1 1

Problemin klasik uygulama alanı kargo yükleme problemidir (Eilon and Christofides, 1971). Problemin çözümüne yönelik olarak, Lagrange gevşetmesini kullanan ilk üst sınır Hung ve Fisk tarafından 1978 yılında önerilmiştir. Çoklu sırt çantası probleminin kesin çözümü genellikle dal-sınır algoritması yardımıyla bulunmuştur. Hung ve Fisk (1978), derinliğine arama stratejisini kullanan bir dal-sınır algoritması geliştirmiştir. Daha sonra 1980 yılında, Martello ve Toth yine derinliğine arama stratejisini kullanan farklı bir dal-sınır algoritması önermişlerdir. 1981 yılında ise Martello ve Toth (1981 a) hem üst sınır hem de alt sınır kullanan, sınır ve sınır algoritması olarak adlandırdıkları bir kesin çözüm algoritması geliştirmişlerdir. Yine aynı yıl Martello ve Toth (1981 b), polinom zamanlı bir yaklaşım algoritması önermişlerdir. Bu algoritmada ilk olarak, sırt çantaları kapasitelerine göre küçükten büyüğe sıralanmaktadır. Daha sonra, en küçük kapasiteli sırt çantasından başlayarak tüm sırt çantaları açgözlü bir algoritma yardımı ile doldurulmakta ve bu şekilde bir uygun çözüm elde edilmektedir. Daha sonra bu çözümü iyileştirmek için iki farklı teknik kullanılmaktadır. İlk olarak farklı sırt çantalarına atanmış parçaların tümü, yer değiştirmeleri durumunda amaç fonksiyonunun değerini arttırıp arttırmayacakları açısından incelenmektedir. Eğer bir artış sağlanacaksa, bu değişim yapılmakta, sağlanmayacaksa yapılmamaktadır. İkinci aşamada ise, atanmış parçalardan bir kısmı sırt çantasından çıkarılarak yaratılan kapasite en yüksek katkıyı sağlayacak şekilde tamamlanmaktadır.

Pisinger (1999), büyük boyutlu çoklu sırt çantası problemi için dal-sınır algoritması temelli bir kesin çözüm algoritması önermiştir. Bu algoritma ile n = 100000 parçalı problemlerin en iyi çözümlerini bir saniye içinde bulmayı başarmıştır.

(32)

Shachnai ve Tamir (2004), sınıf kısıtı olan çoklu sırt çantası problemleri için sıkı sınırlar geliştirmiştir. Son yıllarda çoklu sırt çantası problemi klasik haliyle değil, çok boyutlu olarak ele alınmıştır (Ang et.al., 2007).

2.12 Karesel Sırt Çantası (Quadratic Knapsack) Problemi

Klasik sırt çantası probleminde parçaların kârlarının seçilecek diğer parçalardan etkilenmediği varsayılmaktadır. Oysa birçok gerçek hayat probleminde parçaların seçiminden elde edilecek kârlar seçilecek her farklı parça alt kümesi için farklılaşmaktadır. Sözgelimi, bütçe kısıtı altında, haberleşme uydularının dünya istasyonları için en iyi yerlerin belirlenmesi, benzer şekilde, tren istasyonlarının yerlerinin belirlenmesi ya da yükleme terminallerinin ve hava alanlarının konumlarının belirlenmesi, problemlerinde seçilecek yerlerin birbirleriyle karşılıklı etkileşimleri sözkonusudur. 0-1 karesel sırt çantası problemi ilk kez 1980 yılında Gallo, Hammer ve Simone tarafından tanıtılmıştır.

Karesel sırt çantası probleminin karar değişkeni xj’dir. Eğer j. parça seçilirse, 1 diğer durumda 0 değerini almaktadır. pj, j. parçanın kârı, pij i. ve j. parçaların aynı anda seçilmesi durumunda oluşacak kâr, wj j. parçanın ağırlığı, c ise toplam ağırlık kapasitesidir. Karesel Sırt Çantası Probleminin matematiksel modeli (KSÇP) aşağıda verilmiştir.

(KSÇP)

{ }

∑ ∑

= =+

=

=

+

=

=

1

1 1

1 1

. .

,..., 1 , 1 , 0

n i

n i

j ij i j

n

j j j

j n

i j j

x x p x

p z

enb a k

n i

x

c x w

Burada pj, wj (j=1,..,n) ve pij (1 ≤ i ≤ j ≤ n) pozitif tamsayı ve c izleyen özelliği sağlayan bir tamsayıdır. Enb{ wj: j = 1,..,n } < c < ∑wj .

(33)

1980 yılından günümüze değin bu problemin çözümüne yönelik kilometre taşları izleyen şekilde verilmiştir. Gallo ve diğerleri (1980), karesel sırt çantası problemini ilk kez sunmuş ve problemin çözümü için de ilk kez dal-sınır algoritması yaklaşımını kullanmışlardır. Chaillou ve diğerleri (1986), karesel sırt çantası probleminin çözümünde, Lagrange gevşetmesine dayanan bir üst sınır kullanan dal-sınır algoritması yaklaşımı geliştirmişlerdir. Michelon ve Veuilleux (1996), karesel sırt çantası problemi için Lagrange ayrıştırması yöntemine dayalı iki üst sınır önermişlerdir. Billionnet ve Calmels (1996), dal-kesik (branch-and-cut) yaklaşımını karesel sırt çantası probleminin çözümünde kullanmışlardır. Caprara ve diğerleri (1999), karesel sırt çantası problemi için büyük örneklerin çözümüne olanak tanıyan bir kesin çözüm yöntemi önermişlerdir.

Helmberg ve diğerleri (2000), yarı belirli (semidefinite) programlama temelli bir dizi üst sınır önermişlerdir. Billionnet ve Soutif (2003), Lagrange ayrıştırmasına dayanan bir üst sınırın kullanıldığı bir kesin çözüm yöntemi önermişlerdir. Bu yöntem ile 150 değişkene sahip farklı yoğunluktaki problemler ve 300 değişkene sahip düşük ve orta yoğunluktaki problemler için eniyi çözümler elde edilebilmiştir. 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, açgözlü algoritma mantığı kullanmaktadır. Açgözlü GA adı verilen bu yaklaşım ile 100 ve 200 boyutlu problemlere kısa sürede en iyi çözüme oldukça yakın çözümler elde edilmiştir. 2002 yılında Gasimov tarafından doğrusal olmayan problemlerin çözümüne yönelik olarak, genişletilmiş Lagrange fonksiyonu kullanan, Genişletilmiş Subgradient Algoritma (GSA) geliştirilmiştir. Saraç ve Sipahioğlu (2004) GSA ile KSÇP’nin oldukça başarılı bir şekilde çözülebileceğini göstermişlerdir. 2004 yılında Gasimov GSA’yı geliştirerek Uygun Çözüm Temelli Genişletilmiş Subgradient Algoritması (UÇT-GSA) adıyla vermiştir. Saraç ve Sipahioğlu (2006) genişletilmiş Lagrange fonksiyonu yardımıyla KSÇP'nin sıfır ikil aralık ile genişletilmiş Lagrange ikil problemini kurmuş ve bu problemin UÇT-GSA yardımıyla çözülebileceğini göstermişlerdir.

Birden fazla sırt çantasının mevcut olması durumunda karesel sırt çantası probleminin genelleştirilmiş hali olan çoklu karesel sırt çantası problemi ortaya çıkmaktadır. Bu problem izleyen bölümde ayrıntılı olarak ele alınacaktır.

(34)

2.13 Diğer Sırt Çantası Problemleri

Yazında, diğerlerine oranla daha az yer almış olan boyanmış (colored), enb-enk (max-min), enküçükleme, eşitlik kısıtlı, parametrik, çok periyotlu v.b. daha pek çok farklı türde sırt çantası problemleri vardır. Bu çalışma kapsamında geliştirilmiş olan ve izleyen bölümlerde ayrıntıları ile açıklanmış olan genelleştirilmiş karesel çoklu sırt çantası modelinde olduğu gibi her geçen gün de yeni problemler ortaya çıkmaya devam etmektedir.

(35)

BÖLÜM 3

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

Bu bölümde öncelikle karesel çoklu sırt çantası problemi tanıtılmıştır. Daha sonra genetik algoritmalar genel hatları ile açıklanmış ve karesel çoklu sırt çantası probleminin çözümü için geliştirilmiş olan GA ayrıntılı olarak verilmiştir.

3.1 Karesel Çoklu Sırt Çantası (Quadratic Multiple Knapsack) Problemi

Parçaların seçiminden elde edilecek kârların seçilecek her farklı alt küme için farklılaştığı ve birden fazla sırt çantasının mevcut olduğu durumlarda, çoklu karesel sırt çantası probleminin varlığından bahsetmek mümkündür. Gerçek hayatta, bir grup çalışan içinden, proje ekiplerinin, kişilerin tek başına ve ekipteki kişilerle ortak performansları dikkate alınarak ve ödenecek maaşların bir bütçe kısıtı dahilinde sınırlandırılması gerekliliği altında oluşturulması probleminde ya da birden fazla makinanın mevcut olduğu ve hazırlık zamanlarının sıralamaya bağımlı olduğu, makina yükleme probleminde ortaya çıkar. Benzer şekilde pek çok uygulama alanı tanımlanabilecek olmasına rağmen bu problem yazında çok fazla ele alınmamıştır.

Karesel çoklu sırt çantası problemi, karesel sırt çantası probleminin k adet sırt çantasının var olduğu duruma genelleştirilmiş halidir. Problemin matematiksel modeli aşağıda verilmiştir.

Kümeler

J = { j| j=1,...n } Parça dizin kümesi i, j ∈ J K ={ k| k=1,...m} Sırt çantası dizin kümesi

(36)

Karar değişkeni

xjk : j. parçanın k. sırt çantasına atanıp atanmaması durumu

⎩⎨

=⎧

ise yapilmadi atama

eger 0

yapildiysa atama

eger 1

xjk

Parametreler

qij : i. ve j. parçanın aynı sırt çantasına atanmış olmasının sağlayacağı katkı pj : j. parçanın herhangi bir sırt çantası için seçilmiş olmasının sağlayacağı katkı ck : k. sırt çantasının kapasitesi

wj : j. parçanın ağırlığı

bu tanımlara göre KÇSÇP modeli izleyen şekildedir.

(KÇSÇP)

{ }

) 4 ( .,

.

) 3 ( ,...,

1 , ,..., 1 ,

1 , 0

) 2 ( ,...,

1 ,

1

) 1 ( ,...,

1 ,

1

1 1 1

1 1

1

∑ ∑ ∑

= =+ =

=

=

=

+

=

=

=

=

=

n i

n i j

m

k ij ik jk

n

j j jk

jk m

k jk

n

j j jk k

x x q x

p z

enb a k

m k

n j

x

n j

x

m k

c x w

(1) numaralı kısıt bir sırt çantası için seçilen parçaların ağırlıkları toplamının o sırt çantasının kapasitesini aşamayacağını göstermektedir.

(2) numaralı kısıt bir parçanın en fazla bir sırt çantasına atanmasını sağlamaktadır.

(3) numaralı kısıt karar değişkenlerinin 0-1 tamsayı olması koşuludur.

(4) numara ile ifade edilen amaç ise tüm parçalar içinden en büyük karı sağlayacak alt kümeyi seçmektir. Sırt çantası problemleri NP-zor sınıfına dahildirler.

(37)

(Martello and Toth, 1990). KÇSÇP tüm karesel parametrelerin (qij) sıfıra eşit olduğu ve yalnızca bir sırt çantası söz konusu olduğu durumda SÇP’ye indirgenebildiğinden NP- zordur (Hiley and Julstrom, 2006).

Günümüze kadar yapılan SÇP yazını incelendiğinde, erişilen çalışmalar içinde yalnızca bir tanesi karesel çoklu sırt çantası problemini ele almıştır. Hiley ve Julstrom tarafından 2006 yılında yapılan bu çalışmada KÇSÇP problemi için, açgözlü algoritma, rassal tepe tırmanma (stochastic hill-climber) ve genetik algoritma olmak üzere üç sezgisel algoritma önerilmiştir. Aç gözlü algoritma, sırt çantalarını tek tek ele almakta ve seçilmemiş parçalar içinden ilgilendiği sırt çantası için kalan kapasiteye sığabilecek ve en yüksek getiriyi sağlayacak parçayı seçmektedir. Rassal tepe tırmanma algoritmasının komşu işlemcisi tüm sırt çantalarından belirli sayıda parçaları çıkarmakta ve yerlerine açgözlü algoritmanın arama mantığını kullanarak yeni parçalar seçmektedir. Bu işlemci aynı zamanda yazarlar tarafından önerilen GA’nın mutasyon işlemcisi olarak ta kullanılmıştır. Çalışmada önerilen yaklaşımların üçüyle de rassal olarak türetilmiş, 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 çözülmüştür. Çözüm kalitesi yönüyle en başarılı çözümler GA ile elde edilmiştir.

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.

(38)

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.

(39)

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.

(40)

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

Referanslar

Benzer Belgeler

Biz bu tezde önce Wiener Tipli bölge kavramını vereceğiz ve sınırı düzgün olmayan bu tip bölgelerin sınır noktalarının regülerliği için kriterler

Bir üretim sisteminin temel elemanları (Kobu, 2014) ... Malzeme, bilgi ve para akış sistemi olarak bir üretim şirketi ... Bir ürün ağacında MSAN ve MSN’nın konumu.

(Susarsak mağ !up sayılırız. İlmî haysiyetimizi kurtarmak için nasıl olursa ol­ sun mutlaka ceVap vermeliyiz.) Karşı tarafa hâkim olan düşün­ ce bu

Then, the data related to each customer is placed on a line so that when applying the SOM network for data classification, similar components such as data are compared and

Araştırmacılar sırt çantasının ne kadar sıkı tutunduğunu sınamak için sırt onları manyetik nano parçacıklarla doldurup bağışıklık hücrelerine yüklediler ve

Hepsi birbirine benzer özelliklere sahip olan bu kılıfları kullanarak kayak yaparken, sörf yaparken, bisiklet sürer veya motor sporları yaparken iPhone’unuzu kullanarak

Sırt Çantası Problemi İçin Yeni Önerilmiş İkili Krill Sürüsü

Örneğin sayısal çözüm yaklaşımıyla üretilen yapay arı koloni (YAK) algoritması, nümerik optimizasyon problemlerinde daha başarılı sonuçlara ulaşabilirken, karınca