evaluasi kinerja genetic algorithm (ga) …digilib.unila.ac.id/25090/3/skripsi tanpa bab...

74
EVALUASI KINERJA GENETIC ALGORITHM (GA) DENGAN STRATEGI PENALTI STUDI KASUS MULTI-CHOICE MULTI- DIMENSIONAL KNAPSACK PROBLEM (MMKP) (Skripsi) OLEH Dian Anggraini JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG 2016

Upload: tranhanh

Post on 10-Mar-2018

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

EVALUASI KINERJA GENETIC ALGORITHM (GA) DENGAN

STRATEGI PENALTI STUDI KASUS MULTI-CHOICE MULTI-

DIMENSIONAL KNAPSACK PROBLEM (MMKP)

(Skripsi)

OLEH

Dian Anggraini

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

2016

Page 2: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

ABSTRACT

EVALUATION OF GENETIC ALGORITHM (GA) PERFORMANCE USING

PENALTY STRATEGY CASE STUDY MULTI-CHOICE MULTI-

DIMENSIONAL KNAPSACK PROBLEM (MMKP)

By

Dian Anggraini

Optimization problem frequently encountered in daily activity. Knapsack problem

(KP) is one of the examples. KP have varian, KP used in this research was Multi-

Choice Multi-Dimensional Knapsack Problem (mmKP). mmKP problem has

constraints function that will divide feasible and not feasible solution. Handle

constraints strategy is needed to resolve this problem. Strategy will be used is penalty

strategy. This research used Genetic Algorithm (pGA) and pGA with addition Local

Search (phGA) to resolve mmKP. The result of this research shows that phGA has

better solution value than pGA, but pGA need less running time than phGA.

Key word: Genetic Algorithm (GA), Knapsack Problem, Multi-Choice Multi-

Dimensional Knapsack Problem, Local Search, Penalty Strategy

Page 3: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

ABSTRAK

EVALUASI KINERJA GENETIC ALGORITHM (GA) DENGAN STRATEGI

PENALTI STUDI KASUS MULTI-CHOICE MULTI-DIMENSIONAL

KNAPSACK PROBLEM (MMKP)

Oleh

Dian Anggrani

Persoalan optimasi sering ditemui dalam kehidupan sehari-hari. Salah satu contohnya

adalah persoalan knapsack. Persoalan Knapsack memiliki beberapa jenis, pada

penelitian ini akan digunakan Multi-Choice Multi-Dimensional Knapsack Problem

(mmKP). Persoalan mmKP memiliki fungsi kendala yang akan membagi ruang solusi

layak dan tidak layak. Untuk mengatasi ini dibutuhkan strategi penanganan kendala.

Strategi yang akan digunakan adalah strategi penalti. Pada penelitian ini digunakan

Genetic Algorithm (pGA) dan pGA dengan tambahan Local Search (phGA) untuk

menyelesaikan mmKP. Hasil dari penelitian ini menunjukkan phGA memiliki hasil

yang lebih baik dibandingkan pGA, namun pGA membutuhkan running time yang

lebih sedikit dibandingkan phGA.

Kata kunci: Genetic Algorithm (GA), Knapsack Problem, Multi-Choice Multi-

Dimensional Knapsack Problem, Local Search, Penalty Strategy

Page 4: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

EVALUASI KINERJA GENETIC ALGORITHM (GA) DENGAN

STRATEGI PENALTI STUDI KASUS MULTI-CHOICE MULTI-

DIMENSIONAL KNAPSACK PROBLEM (MMKP)

OLEH

Dian Anggraini

Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar

SARJANA KOMPUTER

Pada

Jurusan Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

2016

Page 5: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar
Page 6: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar
Page 7: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar
Page 8: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

RIWAYAT HIDUP

Penulis dilahirkan pada tanggal 9 Mei 1994 di Ogan Lima.

Penulis merupakan anak ketiga dari tiga bersaudara dari

Bapak Helmi Padil dan Ibu Widaningsih. Penulis

menyelesaikan pendidikan formal pertama kali di SDN 1

Abung Tengah pada tahun 2006. Pendidikan menengah

pertama ditempuh di Sekolah Menengah Pertama (SMP)

Negeri 1 Abung Barat pada tahun 2009 dan melanjutkan ke Sekolah Menengah

Kejuruan (SMK) Negeri 1 Abung Selatan pada tahun 2009 -2012. Pada tahun 2012,

penulis terdaftar sebagai mahasiswa Universitas Lampung, Fakultas Matematika dan

Ilmu Pengetahuan Alam, Jurusan Ilmu Komputer. Pada bulan Januari dan Februari,

penulis melaksanakan Kerja Praktik di Lembaga Penelitian Universitas Lampung

(Lemlit Unila) Selama perkuliahan, penulis mengikuti organisasi, yaitu Himpunan

Mahasiswa Ilmu Komputer (Himakom). Di Himakom, penulis menjadi anggota

bidang Keilmuan pada kepengurusan periode 2012-2013.

Page 9: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

Tidak semua yang penting bisa dihitung, dan tidak semua yang

dapat dihitung diperhitungkan --- Albert Einstein

Boleh jadi kamu membenci sesuatu, padahal ia amat baik

bagimu , dan boleh jadi (pula) kamu menyukai seuatu ,

padahal ia amat buruk bagimu ; Allah mengetahui , sedang

kamu tidak mengetahui” (QS Al-Baqarah / 2:216)

Page 10: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

Kupersembahkan karya sederhana ini untuk

superhero dalam hidup ku papa dan

mama

Ayuk Vivin, Kanjeng, Ayuk Evi, Adam, bulek, dan

mbah ku terimakasih sudah mengisi

hidupku dengan tawa dan semangat

yang tak pernah putus

Page 11: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

SANWACANA

Segala puji dan syukur penulis panjatkan ke hadirat Allah SWT, yang Maha Pengasih

lagi Maha Penyayang. Selama studi sampai dengan penulisan skripsi ini, penulis

banyak menerima bantuan baik secara langsung maupun tidak langsung. Oleh karena

itu, penulis menyampaikan rasa terimakasih yang sebesar-besarnya kepada:

1. Bapak Dr. Eng. Admi Syarif, selaku Pembimbing I atas segala saran, bimbingan,

kepercayaan serta berbagi pengalamannya untuk kerja-keras dalam hidup ini dan

juga motivasi untuk belajar dan terus belajar.

2. Bapak Aristoteles, S.Si, M.Si Selaku Pembimbing II atas segala waktu yang telah

diberikan untuk diskusi, bimbingan serta pengarahannya selama ini.

3. Bapak Rico Andrian, S.Si, M.Kom., selaku pembahas yang telah memberikan

kritik dan saran dalam skripsi ini, serta pengarahan dan bimbingan selama ini.

4. Bapak Dwi Sakethi, S.Si, M.Kom., selaku Pembimbing Akademik atas saran

dan motivasi yang diberikan serta bimbingan selama perkuliahan.

5. Bapak Dr. Ir. Kurnia Muludi, selaku Ketua Jurusan Ilmu Komputer Fakultas

Matematika dan Ilmu Pengetahuan Alam Universitas Lampung.

6. Bapak Didik Kurniawan, S.Si., MT, selaku Sekretaris Jurusan Matematika

Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung.

7. Seluruh staff dan dosen jurusan ilmu komputer: Dwi Sakethi, M.Kom. Rangga

Firdaus, S.Kom., M.Kom., Ossy Dwi Endah Wulansari, M.T., Febi Eka

Febriansyah, ST., Anie Rose Irawati, ST, M.Cs., Didik Kurniawan, S.Si., MT,

Rico Andrian, S.Si.,M.Kom, Tristiyanto, S.Kom., M.I.S., Aristoteles, S.Si., M.Si.,

Astria Hijriani, S.Kom., M.Kom, Favorisen Rossy King, S.Kom., M.Si., Dr. Ir.

Kurnia Muludi, M.Sc.

8. Rani Cahyani yang selalu sabar menemani, mendampingi selama

pengerjaan skripsi

Page 12: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

9. Cindona, Erika, Erlina, Nurul, Nila, Taqiya, Erlina, Riska, Nafi, Qonitati, Eko,

Anita dan Indah atas Dukungan, Motivasi, dan Doa yang telah diberikan.

10. Semua rekan-rekan Ilmu Komputer 2012 atas Pengalaman, Motivasi, Ilmu dan

Dukungan yang telah diberikan

11. Bebe, Mas Abi, Mami, Teteh, Cungkring, dan Sugab terimakasih atas waktu yang

telah diberikan selama ini.

12. dan beberapa orang tercinta yang belum disebutkan Demikian ucapan terimakasih

penulis sampaikan kepada semua pihak, hanya Allah SWT yang dapat membalas

dan memberi rahmat-Nya atas segala usaha dan bantuan yang telah diberikan

kepada penulis.

Bandar Lampung, Desember 2016

Dian Anggraini

Page 13: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

i

DAFTAR ISI

Halaman ABSTRAK

ABSTRACT

Daftar Isi…………..…………………………………………………………….. i

Daftar Gambar…………………………………………………………………… iv

Daftar Tabel……………………………………………………………………… vii

BAB I

1.1 Latar Belakang…………………………………………………………… 1

1.2 Rumusan Masalah……………………………………………………….. 5

1.3 Batasan Masalah…………………………………………………………. 5

1.4 Tujuan……………………………………………………………………. 5

1.5 Manfaat………………………………………………………………….. 5

BAB II

2.1 Knapsack Problem……………………………………………………… 6

2.1.1 0.1 Knapsack Problem……………………………………………. 7

2.1.2 Bounded Knapsack Problem……………………………………… 8

2.1.3 Multiple-choice Knapsack Problem……………………………… 9

2.1.4 Multi-dimensional Knapsack Problem…………………………… 10

Page 14: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

ii

2.1.5 Multi Choice Multi-dimensional Knapsack Problem………..…… 11

2.2 Algoritma Genetika………………………………………………….….. 14

2.2.1 Inisiasi Populasi…………………………………………………… 16

2.2.2 Evaluasi Populasi…………………………………………………. 19

2.2.3 Seleksi Populasi…………………………………………………… 20

2.2.4 Proses Penyilangan……………………………………………….. 21

2.2.5 Mutasi…………..…………………………………………………. 27

2.2.6 Strategy Penalty...…………………………………………………. 29

2.3 Local Search……..……………………………………………………… 31

BAB III

3.1 Waktu dan Tempat Penelitian………...………………………………… 33

3.2 Lingkungan Pengembangan..…………………………………………… 33

3.3 Tahapan Penelitian……………………………………………………… 33

3.3.1 Studi Literatur dari Test Problem………………………………… 35

3.3.2 Penyusunan Algoritma………….………………………………… 36

3.3.3Pengembangan Program…………………………………………… 43

3.3.4 Pengujian………………………..………………………………… 48

BAB IV

4.1 Hasil dan Pembahasan…..……………………………………………… 50

BAB V

Page 15: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

iii

5.1 Kesimpulan……………..……………………………………………… 60

5.2 Saran……..……………..……………………………………………… 60

DAFTAR PUSTAKA

LAMPIRAN

Page 16: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

iv

DAFTAR GAMBAR

Halaman

Gambar 1.1 Ilustrasi Persoalan Knapsack…………………………………. 2

Gambar 2.1 Knapsack Problem……………………………………………. 6

Gambar 2.2 Ilustrasi mmKP………………………….……………………. 13

Gambar 2.3 Kerangka Kerja Implementasi GA..…….……………………. 16

Gambar 2.4 Contoh Kromosom Metode Representasi Nilai……………… 17

Gambar 2.5 Contoh Kromosom Metode Representasi Biner……………... 17

Gambar 2.6 Contoh Kromosom Metode Representasi Permutasi………… 17

Gambar 2.7 Contoh Edge Encoding……………………….……………… 18

Gambar 2.8 Contoh Representasi Bilangan Prüfer………..………………. 18

Gambar 2.9 Contoh Representasi Matrik………………………………….. 19

Gambar 2.10 Contoh Selection Probability dan Fitness Value…………… 21

Gambar 2.11 Contoh Metode One Point Crossover……………..……….. 21

Gambar 2.12 Contoh Metode Two Point Crossover…………….……….. 22

Gambar 2.13 Ilustrasi PMX………………………..…………….……….. 22

Gambar 2.14 Ilustrasi PMX………………………..…………….……….. 22

Gambar 2.15 Ilustrasi PMX…………………..…………….…………….. 22

Gambar 2.16 Ilustrasi PMX………………..…………….……………….. 23

Gambar 2.17 Ilustrasi OX...………………..…………….……………….. 23

Gambar 2.18 Ilustrasi OX...………………..…………….……………….. 23

Page 17: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

v

Gambar 2.19 Ilustrasi OX...………………..…………….……………….. 23

Gambar 2.20 Ilustrasi OX...………………..…………….……………….. 23

Gambar 2.21 Ilustrasi OX...………………..…………….……………….. 24

Gambar 2.22 Ilustrasi PX...………………..…………….……………….. 24

Gambar 2.23 Ilustrasi PX...………………..…………….……………….. 24

Gambar 2.24 Ilustrasi PX...………………..…………….……………….. 24

Gambar 2.25 Ilustrasi PX...………………..…………….……………….. 24

Gambar 2.26 Ilustrasi OBX...………………..…………….…….……….. 25

Gambar 2.27 Ilustrasi CX...………………..…………….……….………. 25

Gambar 2.28 Ilustrasi CX...………………..…………….……….………. 25

Gambar 2.29 Ilustrasi CX...………………..…………….……….………. 26

Gambar 2.30 Ilustrasi WMX...………………..…………….…….………. 26

Gambar 2.31 Ilustrasi WMX...…………………..…………….….………. 26

Gambar 2.32 Ilustrasi WMX...…………………..…………….….………. 26

Gambar 2.33 Ilustrasi Metode Pembalikan…………..…………….…….. 27

Gambar 2.34 Ilustrasi Metode Penyisipan.…………..…………….…….. 27

Gambar 2.35 Ilustrasi Metode Pemindahan…………..…………….……. 28

Gambar 2.36 Ilustrasi Metode Penukaran.…………..…………….……... 28

Gambar 2.37 Ilustrasi Metode Penggantian…………..……………..……. 28

Gambar 2.38 Ilustrasi Local Search…………………..……………..……. 31

Gambar 3.1 Tahapan Penelitian……………………………………….….. 34

Gambar 3.2 Flowchart GA…………………………………………….….. 37

Gambar 3.3 Flowchart GA dengan Local Search………………………… 38

Page 18: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

vi

Gambar 3.4 Crossover….……………………………………………….... 39

Gambar 3.5 Mutasi…….…………………………………………………. 40

Gambar 3.6 Merge Sort….……………………………………………….. 41

Gambar 3.7 Local Search.………………………………………………… 42

Gambar 3.8 Ilustrasi Kromosom..………………………………………… 45

Gambar 3.9 Contoh Metode Two Pont Crossover……………………….. 45

Gambar 3.10 Ilustrasi Metode Penukaran………………………………... 46

Gambar 4.1 Waktu Rata-rata Komputasi……………………………….… 55

Gambar 4.2 Generasi I07….………………………………..…………..... 56

Gambar 4.3 Diagram Persentase Error……………………..…………..... 59

Page 19: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

vii

DAFTAR TABEL

Halaman

Tabel 2.1 Pemetaan Proses Alamiah keproses Komputasi………………… 15

Tabel 2.2 Contoh 10 Kromosom Terbaik………………………………….. 31

Tabel 3.1 Representasi Item……………………………………………..… 43

Tabel 3.2 Dataset mmKP……………………………….………………….. 48

Tabel 4.1 Ukuran Populasi dan Maksimal Generasi………………...…….. 51

Tabel 4.2 Persentase Error…………………………………………...…….. 52

Tabel 4.3 Kromosom I01………………………………………..….……… 53

Tabel 4.4 Metode phGA…………………………………….…….…….…. 54

Tabel 4.5 Perbandingan Metode………………………….……….……….. 58

Page 20: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

BAB I

PENDAHULUAN

1.1 Latar Belakang

Optimasi didefinisikan sebagai proses menentukan nilai minimum dan maksimum

bergantung pada fungsi tujuannya (Malinda, 2015). Permasalahan optimasi sering

ditemui dalam kehidupan sehari-hari, contoh dari permasalahan optimasi:

penentuan jadwal, mencari rute terpendek dalam distribusi barang dan

penyusunan barang dalam wadah (Container). Optimasi dikelompokan menjadi

empat, yaitu Optimasi tanpa pembatas (Unconstraint Optimization), Optimasi

dengan pembatas (Constraint Optimization), Optimasi dengan beberapa fungsi

tujuan (Multi-Objective Optimization) dan Optimasi Kombinatorik

(Combinatorial Optimization) (Syarif, 2014).

Persoalan Knapsack (Knapsack problem / KP) adalah salah satu permasalahan

optimasi kombinatorik, tujuan dari KP memaksimalkan keuntungan (Profit) dari

objek yang dipilih tanpa melewati kapasitas yang ada (Setemen, 2010). Dapat

diilustrasikan sebagai berikut: Sebuah Knapsack / karung akan diisi dengan

memilih sebuah objek diantara banyak objek (item), disana terdapat n item yang

berbeda, setiap item j memiliki weight (wj), dan memiliki cost (cj). Knapsack

dapat menampung weight sebanyak W (Gen dan Cheng, 2000).

Page 21: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

2

Gambar 1.1 Ilustrasi Persoalan Knapsack

KP sering ditemui di kehidupan sehari-hari, contohnya adalah seorang pendaki

gunung yang akan menaiki gunung. Tas yang akan dibawa tentu memiliki

kapasitas sehingga barang yang akan di hanya barang yang memiliki kegunaan

selama pendakiannya.

KP memiliki beberapa macam tipe diantara lain:

1. 0-1 Knapsack Problem (KP)

2. Bounded Knapsack Problem (bKP)

3. 0-1 Multiple Knapsack Problem (mKP) ( Martello dan Toth, 1990)

4. Multiple-choice knapsack problem (mcKP) (Gen dan Cheng, 2000)

5. Multidimensional Knapsack Problem (mdKP) (Varnamkhasti,2012)

6. Multi-choice Multi-dimensional Knapsack Problem (mmKP) (Rahman dan

Ahmed, 2009)

Selama ini banyak penelitian yang menerapkan KP. Salah satunya penelitian yang

dilakukan Setemen, pada penelitiannya dia menerapkan KP dalam permasalahan

optimasi pemilihan buah kemasan kotak. Optimasi pemilihan buah kemasan kotak

pada proses distribusi barang digunakan untuk menekan biaya pengiriman dan

memaksimalkan keuntungan (Setemen, 2010).

Page 22: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

3

Selain itu penelitian mengenai KP diterapkan pada permasalahan optimasi

distribusi barang dua tahap. Distribusi barang dua tahap digunakan untuk

mempermudah pendistribusian barang dari produsen kepada konsumen, dengan

cara membangun sebuah distributor yang berdekatan dengan wilayah pemasaran

pelanggan. Distribusi dua tahap diterapkan pada pabrik yang mendistribusikan

pada distributor dan dilanjutkan pendistribusian barang pada agen sesuai dengan

kapasitas persediaan pabrik (Sulistyorini dan Mahmudy, 2015)

Artificial Inteligent (AI) merupakan salah ilmu terapan yang tergolong baru. AI

mulai dikenal pada tahun 1956 (Russel dan Norvig, 1995). John McCarthy

merupakan orang yang pertama kali mendefinisikan tujuan dari AI. Menurutnya

tujuan dari AI adalah “The goal of AI is to develop machines that behave as

though they were intelligent” (Ertel, 2011)

Implementasi AI sering ditemui dalam kehidupan sehari-hari. Salah satunya pada

bidang Teknologi Informasi (Information Technology / IT), contoh dari penerapan

AI dibidang IT adalah penelitian yang dilakukan Hermawan dan Bendi yang

mengimplementasikan algoritma A* pada aplikasi puzzle (Hermawan dan Bendi,

2013).

AI juga diterapkan pada sistem perparkiran. AI diterapkan untuk program

pengaturan dan penjadwalan parkir berbasis cerdas. Penelitian ini membantu

pengelola parkir dalam mengelola informasi, mendata, dan mengatur penempatan

lokasi parkir (Purwadi dan Istiyanto, 2005).

Page 23: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

4

Pada bidang medis AI diterapkan untuk menganalisa penyakit dalam. Aplikasi

yang dikembangkan merupakan sistem pakar yang digunakan untuk mendiagnosa

penyakit dalam dengan menggunakan metode Faktor Kepastian. Diagnosa

dilakukan dengan cara menganalisa masukan gejala berupa pertanyaan tentang

apa yang dirasakan oleh pasien (Broto, 2010).

AI memiliki cabang ilmu diantaranya adalah:

1. Sistem Pakar (Expert System)

2. Logika Fuzzy (Fuzy Logic)

3. Jaringan syaraf tiruan (Neural Network)

4. Algoritma Genetika (Genetic Algorithm / GA) (Kusumadewi, 2003)

GA merupakan salah satu cabang ilmu dari AI. GA pertama kali dirintis oleh

John Holland dari universitas michigan pada tahun 1960-an. GA telah diterapkan

pada beberapa permasalahan yang sering ditemui dalam kehidupan sehari-hari.

Salah satunya pada penelitian yang dilakukan oleh Nugraha. GA diterapkan pada

permasalahan optimasi pada kegiatan belajar mengajar (Nugraha, 2013).

GA memiliki solusi penangan kendala. Solusi penanganan kendala pada GA yaitu

Strategi Penolakan (Rejecting Strategy), Strategi Perbaikan (Repair Strategy),

Strategi Modifikasi Operasi Genetik Operator (Modified Genetic Operator

Strategy), dan Strategi Penalti (Penalty Strategy) (Syarif, 2014).

Penelitian ini akan difokuskan pada evaluasi kinerja GA dengan Strategi Penalti

pada studi kasus Multi-choice Multi-dimensional Knapsack Problem (mmKP).

Page 24: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

5

1.2 Rumusan masalah

Rumusan masalah dari penelitian ini adalah mengimplementasikan GA dengan

Strategi Penalti pada studi kasus mmKP.

1.3 Batasan Masalah

Batasan masalah dari evaluasi kinerja GA adalah:

1. Studi kasus yang digunakan adalah mmKP

2. Representasi kromosom yang digunakan adalah representasi permutasi

3. Penangan pembatas yang digunakan adalah strategi penalti

4. Bahasa pemrograman yang digunakan adalah matlab

1.4 Tujuan

Adapun tujuan dari penelitian ini adalah:

1. Mengimplementasikan GA pada permasalahan mmKP.

2. Mengevaluasi kinerja GA pada studi kasus mmKP.

1.5 Manfaat

Manfaat dari penelitian ini

1. Menambah pustaka terkait dengan evaluasi kinerja AG pada studi kasus mmKP.

2. Mengetahui informasi mengenai efektivitas kinerja GA pada KP.

3. Memberikan sumber informasi bagi penelitian selanjutnya.

4. Mengetahui kinerja GA dengan strategi penalti kromosom pada KP.

Page 25: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

BAB II

TINJAUAN PUSTAKA

2.1 Knapsack Problem

Persoalan Knapsack (Knapsack Problem / KP) adalah salah satu permasalahan

optimasi kombinatorik. Dapat diilustrasikan sebagai berikut: Sebuah karung

(Knapsack) akan diisi dengan memilih sebuah objek diantara banyak objek (item).

Terdapat n objek yang berbeda, setiap objek j memiliki berat (weight / wj) dan

memiliki biaya (cost / cj). Knapsack dapat menampung berat sebanyak w (Gen

dan Chen, 2000). Permasalahannya adalah untuk menemukan kumpulan objek

yang memiliki biaya paling sedikit.

Gambar 2.1 Knapsack Problem (Gen dan Cheng, 2000)

Page 26: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

7

Knapsack memiliki beberapa macam tipe diantara lain:

1. 0-1 Knapsack Problem (KP) ( Martello dan Toth, 1990)

2. Bounded Knapsack Problem (bKP) ( Martello dan Toth, 1990)

3. Multiple-choice knapsack problem (mcKP) (Gen dan Cheng, 2000)

4. Multidimensional Knapsack Problem (mdKP) (Varnamkhasti,2012)

5. Multiple-choice Multidimensional Knapsack Problem (mmKP) (Rahman

dan Ahmed, 2009)

2.1.1 0.1 Knapsack Problem

0/1 KP merupakan salah satu variasi dari KP, dimana objek yang dimasukkan ke

Knapsack dapat menghasilkan keuntungan yang maksimum. Berat objek yang

akan dimasukkan tidak boleh melebihi kapasitas. Knapsack jenis ini setiap objek

hanya tersedia 1 unit.

Penelitian yang telah mengimplementasikan KP jenis ini: Penyelesaian Knapsack

Problem Menggunakan Algoritma Genetika (KW, Mardhiah, dan Charly, 2010),

Implementasi Genetic Algorithm Berbasis Strategi Penalti pada Knapsack

Problem (Malinda, 2015), dan Evaluasi Kinerja Genetic Algorithm (GA) dengan

Strategi Perbaikan Kromosom Studi Kasus: Knapsack Problem (Dwiastuti, 2015).

Berikut persamaan dari KP diberikan satu set n objek dengan:

pi : keuntungan dari objek ke-i

wi : berat dari objek ke-i

C : kapasitas karung

Page 27: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

8

��� ∶ � = � ����

���

(2.1)

� � ��� ≤ �

���

(2.2)

�� = 0 ���� 1,� ∈ � = (1,… ,�) (2.3)

�� = �1;jika item ke− � terpilih 0;item ke− i tidak terpilih

(Malinda, 2015)

2.1.2 Bounded Knapsack Problem

Bounded KnapsackProblem (bKP) merupakan variasi dari KP. bKP adalah

permasalahan pengambilan sebagian atau semua objek dari beberapa objek yang

jumlahnya terbatas. Penelitian yang pernah dilakukan menggunakan bKP :

Penerapan Algoritma Genetika Hybrid pada Permasalahan Bounded Knapsack

( Hadi, 2016), Penyelesaian Bounded Knapsack Problem Menggunakan Dynamic

Programming (Studi Kasus: Cv. Mulia Abadi) (Kosasi, 2013), dan Algorithms

with Guarantee Value for Bounded Knapsack Problems (Guler dan Fidan, 2010).

Berikut persamaannya:

pi : keuntungan dari objek i

wi : berat dari objek i

bi : batas atas yang tersedia dari objek jenis i

C : kapasitas dari karung

�� : �1 ;jika objek ke− �0;objek ke− �

Page 28: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

9

max : z =

n

i

iixp1

(2.4)

s.t :

n

i

ii Cxw1

(2.5)

0 xi bi dan integer, i N = (1,…,n) (2.5)

(Malinda, 2015)

2.1.3 Multiple-choice Knapsack Problem

Multiple-choice Knapsack problem (mcKP) merupakan salah satu dari variasi KP.

Diilustrasikan sebagai berikut : Terdapat sebuah tas dengan kapasitas terbatas.

Objek yang akan dimasukkan terbagi menjadi beberapa kelompok. Di dalam

setiap kelompok terdapat beberapa benda. Permasalahannya adalah memilih

sebuah benda dari setiap kelompok dengan keuntungan yang paling besar tanpa

melebihi kapasitas.

Banyak penelitian yang menggunakan mcKP. Berikut beberapa penelitian yang

menggunakan mcKP : An Algorithm for the Penalized Multiple Choice

Knapsack Problem (Hilliard, dkk, 2014), Efficient Algorithms with Performance

Guarantees for the Stochastic Multiple-Choice Knapsack Problem (Thanh,

Yingce, Tao, dan Nicholas, 2015), dan Developing A 0-1 Multi-Choice Knapsack

Problem Using Fuzzy (Noujavan dan Ghazanfari, 2004). Persamaan dari mcKP

sebagai berikut.

i : indeks kelompok

j : indeks objek

Page 29: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

10

pi : keuntungan dari objek i

wi : berat dari objek i

c : kapasitas karung

m : jumlah kelompok

Pilih sejumlah xij = (1,...,n) dari masing-masing tipe objek sehingga:

��� ∶ � = �.

���

� �����

���

(2.7)

�.� � � ���� ≤ ��

���

,� ∈ � = {1,… ,�� }� (2.8)

� ���

���

≤ 1,�∈ � = {1,… ,�} (2.9)

��� = �1 ;jika objek ke− � terpilih di kelompok ke− �0;objek ke− � tidak terpilih di kelompok ke− �

(Gen dan Cheng, 2000)

2.1.4 Multidimensional Knapsack Problem

Multidimensional Knapsack Problem (mdKP) merupakan variasi dari Knapsack

Problem. mdKP adalah salah satu permasalahan NP-Hard Combinatorial

(nondeterministic polynomial). Tujuan dari mdKP adalah meningkatkan jumlah

objek yang dipilih (Martello dan Tooth, 1990)

Penelitian telah lama dilakukan untuk permasalahan mdKP, berikut beberapa

penelitian mengenai mdKP : Overview of the Algorithms for Solving the

Multidimensional Knapsack Problems(Varnamkhasti, 2012), An Approximate

Dynamic Programming Approach to Multidimensional Knapsack Problems

(Bertsimas dan Ramazan, 2002), dan The Minmax Multidimensional Knapsack

Page 30: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

11

Problem with Application to a Chance-Constrained Problem (Kress, Michal, dan

Maria, 2007). Berikut persamaannya dari mdKP:

j : nomor objek

i : nomor kelompok

wi : berat kelompok ke- i objek ke- j

ci : kapasitas karung ke-i

pj : keuntungan objek ke-j

xi : objek variabel keputusan

Pilih sejumlah xi=(1,...,n) dari masing-masing tipe objek sehingga:

��� ∶ � = � �����

���

(2.10)

� � ���� ≤ ��

���

,�= {1,… ,�� }� (2.11)

�� ∈ {0,1},�= {1,… ,�}.

��� = �1;jika item ke− � terpilih di ����� ke− �

0;item ke− � tidak terpilih di ����� ke− ��

(Varnamkhasti, 2012)

2.1.5 Multi-choice Multi-dimensional Knapsack Problem

Multiple-Choice Multi-Dimensional Knapsack Problem (mmKP) merupakan salah

variasi KP. mmKP lebih komplek dibandingkan varian 0-1 KP, dikenal sebagai

Non Polynomial Hard Problem (NP-Hard Problem). Algoritma ini kurang cocok

untuk aplikasi pembuat keputusan (Decision Making) secara real time karena

memiliki kompleksitas yang tinggi (Hifi, dkk, 2005).

Page 31: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

12

Kita ilustrasikan mmKP sebagai berikut : terdapat n kelompok, kelompok i

memiliki li objek. Setiap objek dalam kelompok memiliki keuntungan dan

membutuhkan m sumber daya. Persoalannya mmKP harus memilih satu objek

dari setiap kelompok dengan keuntungan besar, tetapi m sumber daya tidak

melebihi batasan sumber daya (Akbar, dkk, 2004)

Penelitian yang telah dilakukan mengenai mmKP : A Reactive Local Search-

Based. Pada penelitiannya permasalahan mmKP diselesaikan menggunakan dua

algoritma : A Simple Reactive Local Search dan Local Search (LS) yang telah

dimodifikasi. Algoritma pertama menggunakan LS dan kombinasi Degrading

dengan Deblocking Strategy. Algoritma kedua menggunakan Memory List, ini

digunakan untuk mengganti Deblocking Strategy. Hasil komputasi menunjukkan

algoritma pertama menghasilkan solusi yang baik dengan waktu komputasi yang

cepat. Algoritma kedua menghasilkan solusi yang sangat baik, mendapatkan

solusi yang optimal pada beberapa permasalahan dengan waktu yang sesuai

(Hifi, dkk, 2005).

A New Hybrid Algorithm for the Multiple-Choice Multi-Dimensional Knapsack

Problem. Pada penelitiannya menggunakan algoritma hybrid : Branch and Bound

Pareto-algebraic yang dinilai lebih baik dibandingkan algoritma Constructive

Procedure (CP) dan A Complementary One (CCP). Algoritma ini akan lebih

berguna dipakai dalam aplikasi real-time. Hal ini dikarenakan pada aplikasi real-

time waktu running merupakan parameter yang penting (Zennaki, 2013).

Page 32: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

13

Gambar 2.2 Ilustrasi mmKP (Akbar, dkk, 2004)

Berikut persamaan dari mmKP :

max : v =

il

j

ijij

n

i

vx11

(2.12)

s.t :

il

j

ijkij

n

i

rx11

≤ Rk (2.13)

1 ≤ k ≤ m, xij ∈ {0,1},

il

j

ijx1

= 1

Dengan i : index kelompok

j : index produk

k : index sumber daya

n : jumlah kelompok

li : jumlah produk

vij : keuntungan produk j di kelompok i

rijk : sumber daya yang dibutuhkan produk j dikelompok i

Rk : batasan sumber daya (Akbar, dkk, 2004)

v =10 r1=5, r2=7

v =14 r1=4, r2=7

v =11 r1=8, r2=2

v =9 r1=5, r2=5

v =13 r1=6, r2=4

v =7 r1=10, r2=8

v =7 r1=5, r2=3

v =12 r1=7, r2=7

Maksimal Sumber Daya Type r1: 17 Type r2: 15

Grup Grup Grup

Knapsack

Page 33: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

14

2.2 Algoritma Genetika

Algoritma genetika (Genetic Algorithm / GA) merupakan evolusi/ perkembangan

dunia komputer dalam bidang kecerdasan buatan (Artificial Intelligence).

Kemunculan algoritma genetika terinspirasi teori evolusi Darwin dan teori-teori

dalam ilmu biologi, sehingga banyak istilah dan konsep biologi yang digunakan.

GA merupakan algoritma pencarian heuristik. Heuristik merupakan teknik yang

digunakan untuk meningkatkan efisiensi dari proses pencarian. Metode Heuristik

akan memilih jalur yang paling mungkin dalam penyelesaian permasalahan secara

optimal (Rahmanti, 2016)

Algoritma genetika terdiri dari dua operasi yaitu operasi genetika dan operasi

evolusi. Operasi genetika terdiri dari operator crossover dan operator mutasi. Pada

operasi evolusi terdapat operator seleksi. Populasi generasi yang baru dibentuk

dengan cara menyeleksi nilai ketahanan (fitness) dari kromosom induk (pa-rent)

dan nilai fitness dari kromosom anak (offspring), serta menolak kromosom-

kromosom yang lainnya sehingga ukuran populasi konstan (Kartika, 2013).

Aspek penting dalam penggunaan GA:

1. Definisi fungsi ketahanan (fitness function)

2. Definisi dan implementasi representasi genetik

3. Definisi dan implementasi operasi genetik (Nugraha, 2008).

GA memiliki beberapa kelebihan dibandingkan algoritma lainnya. Menurut Gen

dan Cheng(1997), kelebihan tersebut adalah:

Page 34: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

15

1. Algoritma GA hanya melakukan sedikit perhitungan matematis yang

berhubungan dengan masalah yang ingin diselesaikan

2. Operator-operator evolusi membuat algoritma GA sangat efektif pada

pencarian global

3. Algoritma GA memiliki fleksibilitas yang tinggi untuk digabungkan dengan

metode pencarian lainnya supaya lebih efektif.

GA memiliki beberapa istilah, berikut pemetaan proses alamiah ke dalam proses

komputasi GA pada tabel 2.1

Tabel 2.1 Pemetaan Proses Alamiah Ke Proses Komputasi

Proses Alamiah Proses Komputasi

Individu Penyelesaian Masalah

Populasi Himpunan Penyelesaian

Fitness/Kebugaran Kualitas Penyelesaian

Kromosom Kode/Representasi Penyelesaian

Gen Bagian Dari Representasi Penyelesaian

Proses Alamiah Proses Komputasi

Pertumbuhan Pendekodean Representasi Penyelesaian

Penyilangan Operator Genetika

Proses Alamiah Proses Komputasi

Mutasi Operator Genetika

Seleksi Alam Menyeleksi Penyelesaian Masalah

Di dalam GA untuk menyelesaikan suatu permasalahan optimasi umumnya

menggunakan kerangka kerja, yang ditunjukkan pada Gambar 2.3

Page 35: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

16

Gambar 2.3 Kerangka Kerja Implementasi GA

Struktur dasar GA terdiri atas beberapa langkah, berikut langkah-langkahnya

1. Insisalisasi populasi.

2. Evaluasi populasi.

3. Seleksi populasi yang akan dikenai operator genetika.

4. Proses penyilangan pasangan tertentu.

5. Evaluasi populasi baru.

Ulangi dari langkah 3 selama syarat berhenti belum terpenuhi.

2.2.1 Inisialisasi Populasi

Proses yang pertamakali dilakukan di dalam GA adalah inisialisasi populasi.

Inisialisasi Populasi dilakukan untuk merepresentasikan kromosom. Proses ini

dikenal dengan istilah encoding. Penentuan metode representasi sangat

berpengaruh pada komponen-komponen GA, yang dalam hal ini akan

mempengaruhi efektivitas dan efisiensi dari GA.

Page 36: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

17

GA memiliki beberapa metode untuk merepresentasikan kromosom, berikut

metode yang umum dipakai:

1. Representasi Nilai

Metode ini sering dipakai dalam permasalahan penyesuaian kata (Word

Matching Problem), Contoh kromosom yang menggunakan metode

representasi nilai pada Gambar 2.4

�� �� �� �� ��

2390 4322 1254 6632 9812

Gambar 2.4 Contoh Kromosom Metode Representasi Nilai

2. Representasi Biner

Metode ini sering ini digunakan pada banyak persoalan salah satunya

optimasi fungsi-fungsi matematika. Contoh kromosom yang menggunakan

metode representasi biner pada Gambar 2.5

0 0 1 1 0 1 0 1

Gambar 2.5 Contoh Kromosom Metode Representasi Biner

3. Representasi Permutasi

Metode ini sering digunakan pada persoalan yang memiliki prioritas dalam

penghitungan nilai ketahanan (fitness). Contoh kromosom yang

menggunakan metode representasi permutasi pada Gambar 2.6

7 4 1 6 9 2 7 6 8

Gambar 2.6 Contoh Kromosom Metode Representasi Permutasi

Page 37: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

18

4. Representasi Pohon

Metode ini digunakan pada persoalan yang solusinya memiliki struktur

pohon. Terdapat dua jenis representasi pada metode pohon yaitu:

a. Edge Encoding

Metode ini menggunakan N digit bilangan biner yang

merepresentasikan jaringan dengan N arc. Apabila digit ke-i tersebut

merupakan bagian dari solusi.

��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ���

0 0 1 1 1 0 0 1 0 1 1 0

Gambar 2.7 Contoh Edge Encoding

b. Vertex Encoding

Salah satu metode representasi yang cukup dikenal adalah bilangan

Prüfer. Bilangan Prüfer adalah suatu bilangan dengan N digit yang

dapat merepresentasi suatu Tree dengan N-2 node.

4 21 7

3

5

6

3

1338

4

14

Gambar 2.8 Contoh Representasi Bilangan Prüfer

Bilangan Prüfer :

P (T) = [4 2 2 7 3]

Page 38: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

19

5. Representasi Matrik

Metode ini digunakan pada persoalan dimana solusinya dalam bentuk

matrik. Matrik dapat berupa satu dimensi, dua dimensi, dan tiga dimensi

sesuai dengan persoalan yang dihadapi.

11 12 … 1n

21 22 … 2n

… … … …

m1 m2 … mn

Gambar 2.9 Contoh Representasi Matrik (Syarif, 2014)

2.2.2 Evaluasi Populasi

Metode yang umumnya dipakai pada evaluasi populasi adalah menghitung nilai

fungsi tujuan sebagai fitness value. Kromosom yang layak setelah proses

crossover dan mutasi menghasilkan offspring yang tidak layak, oleh karena itu

setiap generasi harus diuji kelayakannya (Syarif, 2014)

Untuk mengatasi kromosom yang tidak layak dapat menggunakan beberapa

metode yaitu:

1. Rejecting Methods

Metode ini akan menolak semua kromosom yang tidak layak selama

proses evolusi. Cara ini merupakan cara termudah tetapi kurang efektif

untuk menangani masalah.

2. Repairing Methods

Metode ini akan mengambil kromosom yang tidak layak dan melakukan

prosedur untuk memperbaiki kromosom.

Page 39: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

20

3. Penalty Methods

Metode ini adalah metode yang sering dipakai dalam permasalahan

optimasi yang memiliki kendala. Metode ini akan menambahkan penalti

pada solusi yang tidak layak (Gen dan Cheng, 2000)

4. Strategi Penyesuaian Operator Genetika

Pada strategi ini operator-operator genetika yang diterapkan harus mampu

menghasilkan kromosom yang memenuhi kendala (Zukhri, 2014)

5. Decoding

Pada metode ini terdapat decoder yang berfungsi untuk membangun relasi

antara daerah penyelesaian buatan yang lebih mudah diselesaikan.

6. Pengamanan

Pada metode ini terdapat operator yang memastikan solusi yang

dibangkitkan selama proses pencarian adalah penyelesaian yang layak

(Purnomo, 2014)

Pada penelitian ini akan dilakukan menggunakan metode penalti

2.2.3 Seleksi Populasi

Pada proses ini akan dipilih kromosom yang tetap bertahan dalam populasi.

Kromosom yang terpilih mempunyai kemungkinan untuk dipasangkan dengan

kromosom lain atau mengalami proses penyilangan.

Terdapat beberapa model seleksi yaitu seleksi sebanding dengan nilai fitness,

Seleksi Peringkat, Seleksi Turnamen, dan Seleksi Elitism (Zukhri, 2014). Selain

model seleksi diatas terdapat pula Roulette Wheel Selection disebut juga

Page 40: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

21

Stochastic Sampling with Replacement. Setiap individu akan dibuat menjadi satu

barisan, setiap individu memiliki nilai yang setara dengan nilai fitness. Model

seleksi ini merupakan salah satu model yang paling sering digunakan.

Number Of Individual 1 2 3 4 5 6 7 8 9 10 11 Fitness Value 2.0 1.8 1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0

Selection Probability 0.18 0.16 0.15 0.13 0.11 0.09 0.07 0.06 0.03 0.02 0.0

Gambar 2.10 Contoh Selection Probability dan Fitness Value(Volna, 2013)

2.2.4 Proses Penyilangan (Crossover)

Pada tahapan ini akan dilakukan proses penyilangan. Proses ini dilakukan untuk

menghasilkan kromosom turunan(offspring) dengan menggabungkan elemen dari

induk yang terpilih (Syarif, 2014) ada beberapa metode crossover yaitu:

1. One Point Crossover

One point crossover akan memilih sebuah angka secara random (c). Maka

angka yang nilainya < c akan dilakukan swap (perpindahan tempat) yang

ditunjukkan pada Gambar 2.12

1 1 0 0 1 0 0 1

0 0 1 0 1 1 0 0

Gambar 2.11 Contoh Metode One Point Crossover

2. Two point crossover

Metode ini akan memilih dua angka secara random (c dan d), setelah dua

angka didapatkan dilakukan swap diantara angka c dan d

0 0 1 0 1 0 0 1

1 1 0 0 1 1 0 0

SWAP

Page 41: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

22

1 1 0 0 1 0 0 1

0 0 1 0 1 1 0 0

Gambar 2.12 Contoh Metode Two Point Crossover (Luke, 2015)

3. Partial Mapped Crossover (PMX)

Metode ini sering dipakai pada permasalahan representasi permutasi.

Metode ini merupakan pengembangan dari crossover dua titik. Proses

PMX dilakukan sebagai berikut :

a. Pilih satu bagian dari kromosom secara acak

1 7 2 3 4 6 5 8

4 6 3 5 7 1 8 2

Gambar 2.13 Ilustrasi PMX

b. Tukar masing-masing substring

1 7 3 5 7 6 5 8

4 6 2 3 4 1 8 2

Gambar 2.14 Ilustrasi PMX

c. Tentukan pemetaan masing-masing gen pada substring

3 5 7

2 3 4 Gambar 2.15 Ilustrasi PMX

1 1 0 0 1 0 0 1

0 0 1 0 1 1 0 0

SWAP SWAP

c d c d

SWAP

2 3 5 4 7

Parent 1

Parent 2

Parent 1

Parent 2

Page 42: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

23

d. Perbaiki kromosom dengan menggunakan informasi dari tahap c.

1 4 3 5 7 6 2 8

7 6 2 3 4 1 8 5

Gambar 2.16 Ilustrasi PMX (Syarif, 2014)

4. Order Crossover (OX)

Metode ini mirip dengan PMX, perbedaanya pada prosedur perbaikan.

Berikut contoh dari OX :

a. Pilih satu bagian kromosom secara acak

1 7 2 3 4 6 5 8

Gambar 2.17 Ilustrasi OX

b. Pindahkan substring terpilih, pada offspring sesuai pada posisinya

2 3 4

Gambar 2.18 Ilustrasi OX

c. Hapus node yang sudah terdapat pada offspring dari parent kedua

6 5 7 1 8

Gambar 2.19 Ilustrasi OX

d. Pindahkan sisa node yang ada pada parent secara berurutan dari kiri ke

kanan

6 5 2 3 4 7 1 8

Gambar 2.20 Ilustrasi OX

Dengan cara melakukan cara yang sama dimulai pada parent kedua

dapat diperoleh offspring kedua sebagai berikut :

Offspring 1

Offspring 2

Parent 1

Offspring 1

Parent 1

Offspring 1

Page 43: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

24

1 2 3 5 7 4 6 8

Gambar 2.21 Ilustrasi OX (Syarif, 2014)

5. Position-based Crossover (PX)

Metode ini merupakan pengembangan dari metode Uniform Crossover

untuk kromosom dengan representasi permutasi. Pada metode ini node

akan dipilih secara acak. Prosedur PX sebagai berikut :

a. Pilih sekumpulan substring dari parent pertama secara random

1 7 2 3 4 6 5 8

Gambar 2.22 Ilustrasi PX

b. Pindahkan substring terpilih pada offspring sesuai pada posisinya

2 5 8

Gambar 2.23 Ilustrasi PX

c. Hapus node yang sudah terdapat offspring dari parent kedua

4 6 3 5 7 1 8 2

Gambar 2.24 Ilustrasi PX

d. Pindahkan sisa node yang ada pada parent kedua secara berurutan dari

kiri kekanan

4 6 3 5 7 1 8 2

4 6 2 3 7 1 5 8

Gambar 2.25 Ilustrasi PX

Proses yang sama dilakukan pada parent kedua untuk dapat

memperoleh offspring kedua (Syarif, 2014)

Offspring 2

Parent 1 :

Offspring 1

Parent 2 :

Parent 2 :

Offspring 1

Page 44: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

25

6. Order-based Crossover (ObX)

Perbedaan metode ini dari metode PX hanya pada prosedur penempatan

posisi node. Disini, posisi substring yang tidak terpilih diisi dengan

substring pada posisi yang sama dari parent kedua. Berikut contoh dari

Obx :

1 7 2 3 4 6 5 8

4 6 2 3 7 1 5 8

4 6 3 5 7 1 8 2

Gambar 2.26 Ilustrasi ObX (Syarif, 2014)

7. Cycle Crossover (CX)

CX dilakukan dengan menempatkan beberapa unit node yang dipilih dari

suatu parent dan sisanya diambil dari induk yang lain. Perbedaanya , pada

metode ini pemilihan node dilakukan dengan membentuk cycle pada

posisi yang sepadan dari masing-masing contoh. Berikut contoh dari

metode CX :

a. Pilih titik potong pada kromosom secara acak

1 7 2 3 4 6 5 8

4 6 3 5 7 1 8 2

Gambar 2.27 Ilustrasi CX

b. Salin node yang ada pada cycle dari parent 1 sesuai dengan posisinya

1 7 2 3 4 6 5 8

Gambar 2.28 Ilustrasi CX

Parent 1 :

Offspring

Parent 2 :

Parent 1 :

Parent 2 :

Offspring 1

Page 45: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

26

c. Salin node yang tidak terdapat cycle dari parent 2 sesuai dengan

posisinya

4 6 3 5 7 1 8 2

1 7 3 5 4 6 8 2

Gambar 2.29 Ilustrasi CX (Syarif, 2014)

8. Weight Mapping Crossover (WMX)

Proses WMX sebagai berikut :

a. Pilih titik potong secara random

2 1 7 4 5 3 6

3 7 2 6 5 1 4

Gambar 2.30 Ilustrasi WMX

b. Urutkan node secara ascending dan tentukan pemetaan dari masing-

masing node

5 3 6

5 3 6

Gambar 2.31 Ilustrasi WMX

c. Bentuk offspring dengan menggunakan informasi pemetaan dari

masing-masing node

2 1 7 4 6 3 5

3 7 2 6 4 1 5

Gambar 2.32 Ilustrasi WMX (Syarif, 2014)

Parent 2

Offspring 1

Parent 1

Parent 2

3 5 6

1 4 5

Offspring 1

Offspring 2

Page 46: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

27

2.2.5. Mutasi

Proses mutasi dilakukan dengan cara mengubah nilai gen pada posisi tertentu.

Nilai gen dipilih secara acak, nilai gen yang mengalami mutasi akan berubah.

Diilustrasikan nilai gen awal adalah nol ketika mengalami mutasi akan berubah

menjadi satu, begitu pula sebaliknya.

Pada metode mutasi terdapat beberapa macam metode

1. Metode pembalikan (Inversion Mutasi)

Metode ini dilakukan dengan mengambil substring secara acak yang

terletak diantara dua titik pada kromosom, selanjutnya substring dilakukan

invers. Ilustrasi terdapat pada Gambar 2.33

8 7 4 5 3 9 8 2

8 7 4 9 3 5 8 2

Gambar 2.33 Ilustrasi Metode Pembalikan

2. Metode Penyisipan (Insertion Mutation)

Metode ini akan memilih satu gen yang akan disisipkan pada posisi yang

dipilih secara acak. Ilustrasi pada Gambar 2.34

8 7 4 5 3 9 8 2

8 5 7 4 3 9 8 2

Gambar 2.34 Ilustrasi Metode Penyisipan

Parent :

Offspring :

Parent :

Offspring :

Page 47: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

28

3. Metode Pemindahan (Displacement Mutation)

Metode ini akan mengambil dua gen yang akan disisipkan pada posisi

yang dipilih secara acak. Ilustrasi metode ini pada Gambar 2.35.

8 7 4 5 3 9 8 2

Gambar 2.35 Ilustrasi Metode Pemindahan

4. Metode Penukaran(Swap Mutation)

Metode ini memilih dua buah gen secara acak, selanjutnya dua buah akan

saling dipertukarkan. Metode ini diilustrasikan pada Gambar 2.36.

8 7 4 5 3 9 8 2

Gambar 2.36 Ilustrasi Metode Penukaran

5. Metode Penggantian(Flip Mutation)

Metode ini mengganti nilai gen yang dipilih, apabila gen bernilai satu akan

diganti menjadi nol begitu pula sebaliknya. Ilustrasi metode ini pada

Gambar 2.37.

1 0 1 1 0 0 0 1

Gambar 2.37 Ilustrasi Metode Penggantian (Syarif, 2014)

8 5 4 8 2 5 3 9

8 2 4 5 3 9 8 7

1 0 0 0 1 0 0 1

Parent :

Offspring :

Parent :

Offspring :

Parent :

Offspring :

Page 48: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

29

2.2.6. Strategy Penalty

Strategi penalti merupakan salah satu metode yang digunakan untuk penanganan

kendala. Strategi penalti merupakan metode yang sering dipakai pada optimasi

berkendala.

Fungsi penalti dapat menggunakan dua cara, yaitu:

1. Metode Penambahan Penjumlahan antara fungsi tujuan dan fungsi penalti

akan menghasilkan fungsi evaluasi, seperti berikut ini.

evalx fx px (2.12)

merupakan fungsi tujuan awal, jika kromosom tidak memenuhi fungsi

pembatas maka nilai fungsi evaluasi ditambah dengan fungsi penalti px .

Terlihat jelas bahwa nilai fungsi evaluasi akan bernilai sama dengan nilai

fungsi tujuan jika nilai dari px bernilai 0. Artinya kromosom tersebut

memenuhi fungsi pembatas.

2. Perkalian Metode lain yang bisa digunakan adalah dengan mengalikan fungsi

tujuan dengan fungsi penalti sebagai berikut.

evalx fx* px (2.13)

Berbeda dengan metode sebelumnya, pada metode perkalian jika kromosom

memenuhi pembatas (feasible) maka px 1 . Nilai fungsi penalti untuk

persoalan maksimasi haruslah 0 px 1 . Sebaliknya, untuk persoalan

minimasi, nilai fungsi penalti haruslah

n

i

iw1

(Malinda, 2015)

Page 49: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

30

Pada penelitian yang dilakukan Yeniay, mendiskusikan tentang kelebihan dan

keuntungan strategi penalti, berikut beberapa stategi penalti yang digunakan

1. Death penalty

Metode ini akan menolak solusi yang tidak layak dari populasi. Pada metode

ini tidak akan ditemukan solusi yang tidak layak. Kelemahan dari solusi ini

adalah ketika memiliki kendala yang besar akan menghabiskan banyak waktu

untuk menemukan solusi yang layak

2. Static Penalties

Pada metode ini parameter penalti tidak berdasarkan angka generasi terbaru.

Kelemahan dari metode ini adalah jumlah parameter yang harus di set

tergolong banyak.

3. Dynamic Penalties

Parameter pada metode ini berdasarkan angka generesai terbaru.

Kelemahannya metode ini harus menetukan parameter, namun pada kasus ini

sulit untuk menentukkan parameter.

4. Annealin penalties

Metode ini berdasarkan simulasi annealing. Kelemahan dari metode ini

adalah metode ini sangat sensitif terhadap nilai parameter, tidak adanya cara

yang spesifik dalam menentukkan parameter

5. Adaptive penalties

Parameter pada metode ini akan selalu akan diperbarui untuk setiap

generasinya berdasarkan informasi yang dikumpulkan dari populasi

Page 50: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

31

2.3. Local Search

Local search (LS) merupakan salah satu metode yang tertua dan paling mudah

dalam metaheuristic method. Metode ini dimulai dengan memberikan solusi

diawal (initial solution), pada setiap iterasi, selanjutnya solusi dibagian akhir akan

diubah ( Talbi, 2009)

Metode LS yang diterapkan dalam penelitian ini dengan mengambil 10 kromosom

terbaik (memiliki nilai optimum tertinggi) di generasi baru. Kromosom ini

selanjutnya diambil satu titik yang akan dilakukan proses mutasi. Apabila

kromosom hasil mutasi lebih baik maka kromosom ini akan diambil, begitupula

sebaliknya.

Tabel 2.2 Contoh 10 Kromosom terbaik

No Profit Kromosom

1 162 4 5 2 3 3

2 150 2 5 3 2 5

3 159 5 2 4 4 3

4 162 4 5 2 3 3

5 167 5 5 2 2 4

6 154 5 4 4 1 2

7 163 4 5 1 2 5

8 167 4 5 2 4 3

9 159 5 2 4 4 3

10 159 4 5 2 5 1

Kita ambil satu kromosom diatas untuk dilakukan mutasi.

Gambar 2.38 Ilustrasi Local Search

4 5 2 3 3

4 5 2 4 3

Page 51: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

32

Proses mutasi menganti bilangan 3 menjadi 4. Hasil pergantian gen tersebut

menghasilkan keuntungan sebesar 173. Hal ini tentu lebih baik dari kromosom

sebelumnya. Kromosom sebelumnya hanya memiliki keuntungan sebesar 162,

maka kromosom yang dilakukan mutasi akan masuk keproses selanjutnya.

Proses pada LS terdapat dua strategi yaitu:

1. The Degrading Strategy

strategi ini diaplikasikan setelah solusi yang paling akhir ditingkatkan dengan cara

swap antar item.

2. The Deblocking Strategy

Strategi membuat arah pencarian berubah hal ini dilakukan agar hasil yang

didapat lebih optimal (Sbihi, Michrafy, dan Hifi, 2005)

Page 52: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

BAB III

METODE PENELITIAN

3.1 Waktu Dan Tempat Penelitian

Penelitian dilaksanaan di lingkungan Program Studi Ilmu Komputer Fakultas

Matematika Dan Ilmu Pengetahuan Alam Universitas Lampung. Waktu penelitian

dilakukan di Semester Ganjil tahun ajaran 2015/2016

3.2 Lingkungan Pengembangan

Lingkungan pengembangan yang akan digunakan pada penelitian ini adalah

sebagai berikut:

a. Software : Ubuntu 14.04 LTS, Matlab R2016a

b. Hardware : PC HP (Processor intel ® Core TM i5-3470S CPU @2.90 GHZ x 4,

RAM 4 GB

3.3 Tahapan Penelitian

Tahapan penelitian yang akan dilakukan terdapat beberapa langkah yaitu studi

literatur dari test problem, penyusunan algoritma, pengembangan program,

pengujian dan eksperimen, analisis dan pembahasan, dan terakhir pengambilan

kesimpulan. Tahapan penelitian terdapat pada Gambar 3.1.

Page 53: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

34

Gambar 3.1 Tahapan Penelitian

Page 54: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

35

3.3.1. Studi Literatur dari Test Problem

Penelitian mengenai knapsack telah sering dilakukan, berikut penelitian mengenai

knapsack :

1. Selama ini banyak penelitian yang menerapkan Knapsack Problem. Salah

satunya penelitian yang dilakukan Setemen, Pada penelitiannya dia

menerapkan knapsack problem dalam permasalahan optimasi pemilihan buah

kemasan kotak. Optimasi pemilihan buah kemasan kotak pada proses

distribusi barang digunakan untuk menekan biaya pengiriman dan

memaksimalkan keuntungan (Setemen, 2010).

2. Selain itu penelitian mengenai Knapsack diterapkan pada permasalahan

optimasi distribusi barang dua tahap. Distribusi barang dua tahap digunakan

untuk mempermudah pendistribusian barang dari produsen kepada konsumen,

dengan cara membangun sebuah distributor yang berdekatan dengan wilayah

pemasaran pelanggan. Distribusi dua tahap diterapkan pada pabrik yang

mendistribusikan pada distributor dan dilanjutkan pendistribusian barang

pada agen dengan kapasitas permintaan yang sesuai dengan kapasitas

persediaan pabrik (Sulistyorini dan Mahmudy, 2015)

3. Permasalahan Knapsack juga diterapkan pada pemilihan menu makan

berdasarkan harga, pada penelitian ini diterapkan metode Dynamic

Programming (Prabowo, dkk, 2013)

Pada penelitian ini knapsack problem yang akan digunakan adalah Multi-choice

Multi-dimensional Knapsack Problem (mmKP), berikut beberapa penelitian yang

menggunakan mmKP:

Page 55: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

36

1. Penelitian ini membahas mengenai permasalahan mmKP menggunakan

algoritma A Reactive Local Search-Based (HIFI, dkk, 2005)

2. Pada peneltian yang dilakukan oleh Rahman dan Syed permasalahan mmKP

diselesaikan menggunakan Algoritma Genetika (GA) (Rahman dan Syed,

2009)

3. Penelitian ini membahas penyelesaian mmKP pada Pram Model

menggunakan algoritma Heuristic (Sadid, dkk, 2005)

Pada penelitian ini algoritma yang dipakai adalah GA, berikut contoh penelitian

yang menggunakan GA:

1. Penelitian yang dilakukan oleh Widodo dan Wayan merupakan penerapan

GA pada sistem rekomendasi wisata kuliner (Widodo dan Wayan, 2010)

2. Penelitian ini menggabungkan Algoritma Semut dan GA untuk pencarian

jalur terpendek (Mutakhiroh, dkk, 2007)

3. Pada penelitian ini GA digunakan untuk meningkatkan kinerja Fuzzy

Clustering untuk pengenalan pola (Widyastuti dan Amir, 2007)

3.3.2. Penyusunan Algoritma

Algoritma yang dipakai dalam penelitian ini akan ditunjukkan pada Flowchart

sebagai berikut:

Page 56: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

37

Gambar 3.2 Flowchart GA

Page 57: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

38

Mulai

Limit, UkPop, JumGen, MaxGen, nItem, pC, pM, Profit

JumGen = Length (grup)

nItem = Length (item)

For i = 1 : MaxGen

Crossover

Mutasi

Evaluasi

Seleksi

i

Solusi Optimal

Selesai

nLocalSearch

Gambar 3.3 Flowchart GA Local Search

Page 58: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

39

Mulai

fCross = 0;fCross2 = 0;fIndex = 0;

ParentX (1,:) = Populasi (1,:);

For i = 1 ; UkPop

cc = rand;

If cc < pC

fCross = fCross + 1; ParentX (fCross,:) = Populasi (i,:);

fIndex = i;

fCross2 = fCross2+1;tempPop2(fCross2,:) = Populasi(i,:);

Tidak

Ya

If rnd2 < rnd1

tPotong = rnd2;flag2 = rnd1;

tPotong = rnd1;flag2 = rnd2;

tempA = parentX (i-1, ; ) ;tempA = parentX (i, : ) ;

tempA (tPotong : (tPotong – 1 + flag2)) = parentX (i, (tPotong : (tPotong – 1 + flag2)));tempB (tPotong : (tPotong – 1 + flag2)) = parentX (i-1, (tPotong : (tPotong – 1 + flag2)));

hasilX (i-1,: ) = temppA;hasilX(I, : ) =tempB;

fCross2 = 0

i

Tidak

for j =1 : fCross

ya

j

selesai

Gambar 3.4 Crossover

Page 59: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

40

Gambar 3.5 Mutasi

Page 60: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

41

Mulai

Selesai

for i = 1 : length(PopGab(:,1));

Populasi2(i,:) = [ProfitGab(i) PopGab(i,:)];

Populasi2 = mergesort2 (Populasi2);a= length(Populasi2(:,1));b= length(Populasi2(1,:));

for i = 1: UkPop

Populasi(i,:) = Populasi2(a-UkPop+i,(2 : b));popProfit(i) = Populasi2(a-UkPop+i,1);

i

i

Gambar 3.6 Merge Sort

Page 61: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

42

Gambar 3.7 Local Search

Jika diketahui total required resource melebihi resource constraint maka nilai

penalti akan dibangkitkan menggunakan persamaan-persamaan berikut.

Page 62: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

43

a :

n

i

iw1

(3.1)

b :

n

i

iixw1

(3.2)

diff : minc, a c (3.3)

dist : |b c| (3.4)

Prosedur strategi penalti : if b < c then

begin penalti = 1 - dist/diff; if penalti <= 0 then

penalti = 0.00001; fit_val(i)= fit_val(i) * penalti;

end end

end (Malinda, 2015) 3.3.3. Pengembangan Program

1. Representasi Item

Tabel 3.1 Representasi Item

Grup Item Profit item

Required Resource1

Required Resource2

Required Resource3

Required Resource4

Required Resource5

1 1 7.00 1 3 1 1 6 2 17.00 1 4 9 9 3 3 25.00 4 3 9 8 2 4 35.00 4 5 8 0 6 5 36.00 6 8 3 0 7

2 1 9.00 0 0 4 4 2 2 10.00 0 0 1 8 7 3 10.00 1 1 6 0 6 4 39.00 9 1 2 2 4 5 44.00 8 7 0 8 2

3 1 15.00 2 0 5 5 5 2 19.00 2 3 2 6 2 3 20.00 3 1 6 4 7 4 44.00 6 7 5 6 9 5 50.00 9 5 9 2 2

Page 63: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

44

Item-item dapat direpresentasi menggunakan array 3 dimensi yang memiliki 3

kolom berisi number of item, number of grup dan required resource. Tabel 3.1.

merupakan Tabel yang merepresentasikan data dari number of item, number of

grup dan required resource. Data tersebut merupakan salah satu dari 13

Benchmark yang diujicobakan. (resource constraints = 25).

2. Representasi Kromosom

Kromosom adalah kumpulan dari gen-gen. Jumlah gen dalam kromosom

sama dengan jumlah grup yang tersedia. Gen yang dipilih dari setiap grup hanya

berjumlah 1. Kromosom kemudian dibangkitkan pada ruang solusi feasible

(layak), Artinya kromosom awal merupakan kromosom yang layak. Berikut

merupakan algoritma yang digunakan pada pembangkitan kromosom yang layak.

for i= 1 : UkPop; for j = 1 : JumGen; RK(j,:,1) = (kk((Populasi(i,j)),:,j)); end; batas = 0; for h = 1 : nItem; % cek layak sumK = (sum (RK(:,h+1,1))); if sumK > Limit batas = 1; break end; end;

Grup Item Profit item

Required Resource1

Required Resource2

Required Resource3

Required Resource4

Required Resource5

4 1 50.00 0 1 3 8 0 2 25.00 2 2 7 0 8 3 32.00 5 5 6 1 9 4 37.00 6 3 6 9 1 5 37.00 7 9 7 2 3

5 1 24.00 4 0 7 0 2 2 30.00 4 8 9 0 0 3 32.00 5 2 7 2 0 4 43.00 5 5 9 5 2 5 44.00 9 2 2 2 3

Page 64: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

45

if BatasL == 0; Profit = (sum (RK(:,1,1))); Status = 'Layak'; else

[Populasi, Profit] = repair(nItem,JumGen,Populasi,RK,BatasL,Limit,kk,i);

Status = 'Layak'; end; popProfit(i) = Profit; BatasL = 0; end;

Sebagai contoh, berikut merupakan kromosom yang telah dibangkitkan melalui

proses pembangkitan kromosom diatas.

1 2 3 4 5

Gambar 3.8 Ilustrasi Kromosom

3. Crossover Metode crossover dalam pengujian ini adalah Two Point Crossove. Metode ini

akan mengambil dua titik secara random. Bilangan yang akan berada dalam dua

titik selanjutnya akan ditukar dengan kromosom lain.

1 1 0 0 1 0 0 1

0 0 1 0 1 1 0 0

Gambar 3.9 Contoh Metode Two Point Crossover

Berikut merupakan prosedur crossover yang digunakan

if cc < pC fCross = fCross + 1; ParentX (fCross,:) = Populasi (i,:); fIndex = i; else fCross2 = fCross2+1;

4 5 2 3 4

1 1 0 0 1 0 0 1

0 0 1 0 1 1 0 0

c

SWAP SWAP

d c d

Kelompok

Produk

Page 65: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

46

tempPop2(fCross2,:) = Populasi(i,:); end; if mod(fCross , 2) == 1; if fIndex == UkPop fIndex2 = fix ((rand)*(length(tempPop2(:,1)))+1); ParentX(fCross+1,:) = tempPop2(fIndex2,:); else ParentX(fCross+1,:) = Populasi(fIndex+1,:); fCross = fCross + 1; end; end; fCross2 = zeros; for i = 1 : fCross; fCross2 = fCross2+1; if fCross2 == 2; rnd1 = int8((rand*JumGen)); rnd2 = int8((rand*JumGen)); if rnd1 == 0; rnd1 = 1; end; if rnd2 == 0; rnd2 = 1; end; if rnd2 < rnd1; tPotong = rnd2; flag2 = rnd1;

else tPotong = rnd1; flag2 = rnd2; end;

if (tPotong + flag2) >= JumGen; flag2 = JumGen - tPotong; end; end; end;

4. Mutasi Metode mutasi dalam pengujian ini adalah Swap Mutation. Metode ini akan

memilih gen secara acak, selanjutnya gen akan dilakukan penukaran

8 7 4 5 3 9 8 2

Gambar 3.10 Ilustrasi Metode Penukaran

Berikut merupakan prosedur mutasi yang digunakan.

for i = 1 : UkPop; cc = (rand); if cc < pM

8 2 4 5 3 9 8 7

Parent :

Offspring :

Page 66: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

47

rnd1 = int8((rand*JumGen)); rnd2 = int8((rand*JumGen)) while rnd2 == rnd1 rnd2 = int8((rand*JumGen)); end; if rnd1 == 0; rnd1 = 1; end; if rnd2 == 0; rnd2 = 1; end; if (Populasi(i,rnd1)) == (Populasi(i,rnd2)) if ((rnd1)-1) <= 1 rnd2 = rnd1+1; else rnd2 = rnd1-1; end; end; end;

5. Evaluasi (Strategi Penalti) Pada proses evaluasi dilakukan pemilihan. Meskipun kromosom awal

dibangkitkan pada ruang solusi yang layak, namun setelah melewati proses

mutasi dan crossover ada kemungkinan kromosom tersebut menjadi tidak layak.

Oleh karena itu, setiap kromosom yang diketahui required resource melebihi

resource constraint maka akan dikalikan dengan nilai penalti (berupa bilangan

pecahan). Berikut merupakan algoritma yang digunakan untuk membangkitkan

nilai penalti.

for i = 1: length(tempPop(:,1)); BatasL = cek_layak(RK,nItem,Limit); Profit = (sum (RK(:,1,1))); if BatasL == 0; penalti = 1; else penalti = 0.0001; end; Profit = fix(Profit * penalti); popProfit2(i) = Profit; BatasL = 0; end;

Page 67: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

48

6. Local Search

Algoritma yang dipakai pada LS adalah sebagai berikut for i = 1 : elit; for j = 1 : JumGen; rnd1 = fix (nItem*rand+1); while rnd1 == PopLocal(i,j); rnd1 = fix (nItem*rand+1); end; PopLocal(i,:) = Populasi(i,:); PopLocal (i,j) = rnd1; RK = generateRK (i,JumGen,kk,PopLocal); BatasL = cek_layak(RK,nItem,Limit); if BatasL == 0; Profit2 = (sum (RK(:,1,1))); if Profit2 >= Profit; Profit = Profit2 ; GenLocal = PopLocal(i,:); end; else Profit2 = 0; PopLocal(i,:) = 0; end; end; end;

3.3.4 Pengujian

Tahap pengujian menggunakan benchmark test problem. Setiap test problem

memiliki beberapa tipe data dengan jumlah data yang berbeda-beda. Data yang

digunakan berupa data value, resource constraint dan required resource yang

berasal dari website http://cermsem.univ-paris1.fr/pub/CERMSEM/hifi/MMKP/

dari Universitas Perugia.

Tabel 3.2 Dataset mmKP

Dataset Jumlah Objek

Jumlah RK Mosers Heuristik Upper Bound Exact

I01 5 5 151 167 182.71 173

I02 5 5 291 354 365.8 364

I03 10 10 1464 1533 1626.59 1602

I04 10 10 3375 3437 3631.6 3597

I05 10 10 3905.7 3899.1 3905.9 3905.7

I06 10 10 4115.2 4799.3 4812.82 4799.3

I07 10 10 23556 23912 24607.95 23912

Page 68: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

49

Dataset Jumlah Objek

Jumlah RK Mosers Heuristik Upper Bound Exact

I08 10 10 35373 35979 36904.41 35979

I09 10 10 47205 47901 49193.87 47901

I10 10 10 58648 59811 61486.3 59811

I11 10 10 70532 71760 73797.74 71760

I12 10 10 82377 84141 86100.45 84141

I13 10 10 94166 96003 98448.64 96003

Page 69: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

BAB V

KESIMPULAN

5.1. Kesimpulan

Dari hasil percobaan dan pembahasan yang telah dilakukan maka dapat ditarik

kesimpulan sebagai berikut:

1. Metode Algoritma Genetika (Genetic Algorithm / GA) optimal pada data I01, namun

pada data I02 s.d I13 kurang optimal dibandingkan metode lainnya.

2. Metode GA ketika ditambahkan metode Pencarian Lokal (Local Search / phGA)

memiliki hasil yang lebih baik dibandingkan dengan hanya menggunakan metode GA.

3. Metode phGA pada data berukuran kecil lebih baik dibandingkan dengan metode

Mosers, Heuristik, dan KLMA, namun pada data berukuran besar kurang optimal.

5.2. Saran

Untuk penelitian selanjutnya, GA dapat diimplementasikan pada berbagai tipe

Knapsack Problem yang lain. Misalnya, bounded Knapsack Problem atau Multiple

Knapsack Problem dengan penanganan kendala yang lainnya yaitu strategi penolakan

kromosom (Rejecting Strategy). Serta membandingkan hasil penelitian tersebut dengan

penelitian yang telah dilakukan. Penelitian selanjutnya juga disarankan untuk

membandingkan ketiga penanangan kendala yaitu, strategi penalti, strategi perbaikan

Page 70: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

61

kromosom dan strategi penolakan kromosom dengan studi kasus Knapsack problem pada

data yang lebih besar.

Page 71: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

DAFTAR PUSTAKA

Akbar,Md. M., Rahman, M. S., Kaykobad, M., Maning, E. G., dan Shoja, G. C., Solving the Multidimensional Multiple-choice Knapsack Problem by constructing convex hulls, Elsevier, 2004

Broto, A.S., Perancangan Dan Implementasi Sistem Pakar Untuk Analisa Penyakit Dalam, Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro, 2010

Dake.2007.Knapsack problem diambil dari http://en.wikipedia.org/wiki/ Knapsack_problem#/media/File:Knapsack.svg

Dimitris, B., dan Ramazan, B., An Approximate Dynamic Programming Approach to Multidimensional Knapsack Problems, Management Science 2002 INFORMS, Vol. 48, No. 4, 2002

Dwiastuti, A., Evaluasi Kinerja Genetic Algorithm (GA) dengan Strategi Perbaikan Kromosom: Studi Kasus Knapsack Problem, Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Lampung, 2015

Ertel, W. Introduction to Artificial Intelligence. London: Springer, 2011.

Gen, M. dan Cheng, R., Genetic Algorithms and Engineering Optimization, Canada, John Wiley & Sons, Inc., 2000.

Guler, A., dan Fidan, N., Algorithms With Guarantee Value for Bounded Knapsack Problems, International Conference 24th Mini EURO Conference “Continuous Optimization and Information-Based Technologies in the Financial Sector” , 2010

Page 72: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

Hadi, I. S., Penerapan Algoritma Genetika Hybrid pada Permasalahan Bounded Knapsack, Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember, 2015

Hermawan, L dan Bendi, R.K, Penerapan Algoritma A* pada Aplikasi Puzzle, Seminar Nasional Teknologi Informasi dan Komunikasi, 2013

Hifi, M., Michrafy, M., dan Sbihi, A., Algorithms for the Multiple-Choice Multi-DimensionalKnapsack Problem, LaRIA, Laboratoire de Recherche en Informatique d’Amie ns, 5 rue du Moulin Neuf, 80000 Amiens,France, 2005

Kartika, M. A., Pencocokan Kata Secara Acak dengan Metode Algoritma Genetika Menggunakan Program Pascal, Jurnal Matematika UNAND Vol. 2 No. 2, 2013

Kosasi, S., Penyelesaian Bounded Knapsack Problem Menggunakan Dynamic Programming (Studi Kasus: CV. Mulia Abadi), Jurnal Informatika Mulawarman, Vol 8, 2013

Kusumadewi, S. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta: Graha Ilmu, 2003

Kw, K. D., Mardhiah, F., dan Charly,S., Penyelesaian Knapsack Problem Menggunakan Algoritma Genetika, Seminar Nasional Informatika, 2010

Luke, S., Essentials Of Metaheuristi, 2015

Malinda, R., Implementasi Genetic Algorithm Berbasis Strategi Penalti pada Knapsack Problem, Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Lampung, 2015

Martello, S. dan Toth, P., Knapsack Problems Algorithms and Computer Implementations, England, John Wiley & Sons, 1990

Mutakhiroh,i., Fajar,S., Nur,H., dan Romi ,W., Pemanfaatan Metode Heuristik

dalam Pencarian Jalur Terpendek dengan Algoritma Semut Dan Algoritma Genetika, Seminar Nasional Aplikasi Teknologi Informasi, 2007

Page 73: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

Nugraha, I., Algoritma Genetik untuk Optimasi Penjadwalan Kegiatan Belajar Mengajar, Institut Teknologi Bandung, 2008

Prabowo, A. D, Ema. R, dan Untari, N. W., Implementasi Knapsack Problem Menggunakan Metode Dynamic Programming pada Pemilihan Menu Makan Berdasarkan Harga, Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom, 2013

Purnomo, H.D., Cara Mudah Belajar Metode Optimasi Metaheuristik Menggunakan Matlab. Yogyakarta: Gava Media, 2014.

Purwadi,J dan Istiyanto, J. E., Pemrograman Interaktif Sipp : Program Informasi Pengaturan dan Penjadwalan Parkir Berbasis Cerdas, Seminar Nasional Ilmu Komputer & Teknologi Informasi Universitas Kristen Satya Wacana, 2005

Rahman, K. M dan Syed,i. A., Performance Analysis of Genetic Algorithm for Solving the Multiple-Choice Multi-Dimensional Knapsack Problem, International Journal of Recent Trends in Engineering, Vol 2, 2009

Rahmanti, F. Z., Algoritma Pencarian Heuristic, Universitas Dian Nuswantoro, 2016

Sadid, M. D. H, Rabiul, I., dan Kamrul, H., A New Strategy for Solving Multiple-Choice Multiple-Dimension Knapsack Problem in PRAM Model, Department of Computer Science & Engineering, Rajshahi University of Engineering & Technology, Bangladesh, 2005

Sbihi, A. D., Mustapha, M., dan Hifi, M., A Reactive Local Search-Based Algorithm for the Multiple-Choice Multi-Dimensional Knapsack Problem, Computational Optimization and Applications, 2005

Setemen, K., Implementasi Algoritma Genetika Pada Knapsack Problem Untuk Optimasi Pemilihan Buah Kemasan Kotak, Seminar Nasional Aplikasi Teknologi Informasi ,2010

Page 74: EVALUASI KINERJA GENETIC ALGORITHM (GA) …digilib.unila.ac.id/25090/3/SKRIPSI TANPA BAB PEMBAHASAN.pdfdan motivasi yang diberikan serta bimbingan selama perkuliahan. 5. ... Gambar

Sulistiyorini , R dan Wayan, F. M., Penerapan Algoritma Genetika Untuk Permasalahan Optimasi Distribusi Barang Dua Tahap, Repository Jurnal Mahasiswa Ptiik Universitas Brawijaya, Vol. 5, No. 12, 2015

Syarif, A., Algoritma Genetika; Teori dan Aplikasi Edisi 2, Yogyakarta, Graha Ilmu, 2014

Talbi, E., Metaheuristics from Design to Implementation, New Jersey , John Wiley & Sons, Inc, 2009

Varnamkhasti, M. J., Overview Of The Algorithms For Solving The Multidimensional Knapsack Problems, Advanced Studies In Biology, Vol. 4, 2012

Volna, E., Introduction To Soft Computing, Czech Republic, 2013

Widodo,A. W., dan Wayan, F. M., Penerapan Algoritma Genetika pada Sistem Rekomendasi Wisata Kuliner, Jurnal Ilmiah KURSOR Vol. 5, No. 4, 2010

Widyastuti,W., dan Amir, H., Penggunaan Algoritma Genetika dalam Peningkatan Kinerja Fuzzy Clustering untuk Pengenalan Pola, Berkala MIPA, 17(2), 2007

Yeniay, Özgür., Penalty Function Methods For Constrained Optimization With Genetic Algorithms, Mathematical and Computational Applications, Vol. 10, 2005

Zennaki, M.,, A New Hybrid Algorithm for the Multiple-Choice Multi-Dimensional Knapsack Problem, Wseas Transactions on Information Science and Applications, 2013

Zukhri, Z., Algoritma Genetika : Metode Komputasi Evolusioner untuk

Menyelesaikan Masalah Optimasi, Yogyakarta, Andi Offset, 2014.