KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

PENYELESAIAN KNAPSACK PROBLEM MENGGUNAKAN ALGORITMA GENETIKA

BAB 2 LANDASAN TEORI

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

BAB 2 TINJAUAN PUSTAKA

BAB III METODE PENELITIAN. Penelitian dilakukan dilingkungan Jurusan Ilmu Komputer Fakultas Matematika

Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial

IMPLEMENTASI ALGORITMA GENETIKA PADA KNAPSACK PROBLEM UNTUK OPTIMASI PEMILIHAN BUAH KEMASAN KOTAK

ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

Denny Hermawanto

Tugas Mata Kuliah E-Bisnis REVIEW TESIS

ALGORITMA GENETIKA. Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

BAB III. Metode Penelitian

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

PENERAPAN ALGORITMA GENETIKA PADA PERSOALAN PEDAGANG KELILING (TSP)

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

BAB III PERANCANGAN. Gambar 3.1 di bawah ini mengilustrasikan jalur pada TSP kurva terbuka jika jumlah node ada 10:

OPTIMASI PENATAAN SILINDER DALAM KONTAINER DENGAN ALGORITMA GENETIKA

OPTIMASI PENJADWALAN KEGIATAN BELAJAR MENGAJAR DENGAN ALGORITMA GENETIK

Lingkup Metode Optimasi

Implementasi Algoritma Genetika dalam Pembuatan Jadwal Kuliah

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

PERMASALAHAN OPTIMASI 0-1 KNAPSACK DAN PERBANDINGAN BEBERAPA ALGORITMA PEMECAHANNYA

BAB II LANDASAN TEORI

PENERAPAN ALGORITMA GENETIKA PADA PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP)

BAB 2 LANDASAN TEORI

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) 45 Edisi... Volume..., Bulan 20.. ISSN :

BAB I PENDAHULUAN. 1.1 Latar Belakang

Jl. Ahmad Yani, Pontianak Telp./Fax.: (0561)

PENERAPAN ALGORITMA GENETIK UNTUK OPTIMASI POLA PENYUSUNAN BARANG DALAM RUANG TIGA DIMENSI ABSTRAK

PERFORMANCE ALGORITMA GENETIKA (GA) PADA PENJADWALAN MATA PELAJARAN

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

ALGORITMA GENETIKA PADA PEMROGRAMAN LINEAR DAN NONLINEAR

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

PENGEMBANGAN APLIKASI PENJADWALAN KULIAH SEMESTER I MENGGUNAKAN ALGORITMA GENETIKA

BAB 2 LANDASAN TEORI

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

BAB II LANDASAN TEORI

8. Evaluasi Solusi dan Kriteria Berhenti Perumusan Masalah METODE PENELITIAN Studi Pustaka Pembentukan Data

APLIKASI ALGORITMA GENETIKA DALAM PENENTUAN DOSEN PEMBIMBING SEMINAR HASIL PENELITIAN DAN DOSEN PENGUJI SKRIPSI

PENERAPAN ALGORITMA GENETIKA PADA PERENCANAAN LINTASAN KENDARAAN Achmad Hidayatno Darjat Hendry H L T

Genetic Algorithme. Perbedaan GA

APLIKASI ALGORITMA GENETIKA DALAM MENENTUKAN SPESIFIKASI PC BERDASARKAN KEMAMPUAN FINANSIAL KONSUMEN

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. Suatu graph merupakan suatu pasangan { E(G), V(G) } dimana :

PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

Optimasi Penjadwalan Ujian Menggunakan Algoritma Genetika

BAB II TINJAUAN PUSTAKA

Bab II Konsep Algoritma Genetik

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. kehidupan sehari-hari dan juga merupakan disiplin ilmu yang berdiri sendiri serta

BAB III PEMBAHASAN. Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan

PENJADWALAN UJIAN AKHIR SEMESTER DENGAN ALGORITMA GENETIKA (STUDI KASUS JURUSAN TEKNIK INFORMATIKA UNESA)

PENDAHULUAN. Latar Belakang

Generator Jadwal Perkuliahan Menggunakan Algoritma Genetika

BAB 2 LANDASAN TEORI

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

Optimalisasi Penyelesaian Knapsack Problem Dengan Algoritma Genetika

BAB 2 LANDASAN TEORI. 2.1 Algoritma

ALGORITMA GENETIKA PADA PENYELESAIAN AKAR PERSAMAAN SEBUAH FUNGSI

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

IMPLEMENTASI ALGORITMA GENETIKA DALAM OPTIMASI JALUR PENDISTRIBUSIAN KERAMIK PADA PT. CHANG JUI FANG

Optimasi Kendali Distribusi Tegangan pada Sistem Tenaga Listrik dengan Pembangkit Tersebar

RANCANG BANGUN SISTEM PENENTUAN KOMPOSISI BAHAN PANGAN HARIAN MENGGUNAKAN ALGORITMA GENETIKA

A. ADHA. Program Studi Teknik Sipil, Fakultas Teknik,Universitas Islam Riau, Pekanbaru, Indonesia Corresponding author:

dan c C sehingga c=e K dan d K D sedemikian sehingga d K

PENENTUAN JARAK TERPENDEK PADA JALUR DISTRIBUSI BARANG DI PULAU JAWA DENGAN MENGGUNAKAN ALGORITMA GENETIKA. Abstraksi

2 TINJAUAN PUSTAKA. 2.1 Peringkasan Teks

GENETIKA UNTUK MENENTUKAN RUTE LOPER KORAN DI AGEN SURAT KABAR

PELATIHAN FEED FORWARD NEURAL NETWORK MENGGUNAKAN ALGORITMA GENETIKA DENGAN METODE SELEKSI TURNAMEN UNTUK DATA TIME SERIES

Zbigniew M., Genetic Alg. + Data Structures = Evolution Program, Springler-verlag.

PEMAMPATAN MATRIKS JARANG DENGAN METODE ALGORITMA GENETIKA MENGGUNAKAN PROGRAM PASCAL

APLIKASI UNTUK PREDIKSI JUMLAH MAHASISWA PENGAMBIL MATAKULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA, STUDI KASUS DI JURUSAN TEKNIK INFORMATIKA ITS

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB II LANDASAN TEORI

Penerapan Algoritma Genetika dalam Job Shop Scheduling Problem

TEKNIK PENJADWALAN KULIAH MENGGUNAKAN METODE ALGORITMA GENETIKA. Oleh Dian Sari Reski 1, Asrul Sani 2, Norma Muhtar 3 ABSTRACT

BAB III PEMBAHASAN. menggunakan model Fuzzy Mean Absolute Deviation (FMAD) dan penyelesaian

PERANCANGAN ALGORITMA GENETIKA DALAM PENYUSUNAN TEKA-TEKI SILANG

Pemaksimalan Papan Sirkuit Di Pandang Sebagai Masalah Planarisasi Graf 2-Layer Menggunakan Algoritma Genetika

BAB II KAJIAN TEORI. memindahkan barang dari pihak supplier kepada pihak pelanggan dalam suatu supply

Pengantar Kecerdasan Buatan (AK045218) Algoritma Genetika

PENYELESAIAN MINIMUM SPANNING TREE (MST) PADA GRAF LENGKAP DENGAN ALGORITMA GENETIKA MENGGUNAKAN TEKNIK PRUFER SEQUENCES

PENERAPAN ALGORITMA GENETIKA UNTUK MENYELESAIKAN PERMASALAHAN PENJADWALAN DOSEN DENGAN FUZZY

BAB II KAJIAN PUSTAKA. Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi

PENCOCOKAN KATA SECARA ACAK DENGAN METODE ALGORITMA GENETIKA MENGGUNAKAN PROGRAM PASCAL

OPTIMASI PENDUGAAN PARAMETER DALAM ANALISIS STRESS DAN STRAIN TERHADAP MATERIAL MENGGUNAKAN ALGORITMA GENETIKA

Analisis Komparasi Genetic Algorithm dan Firefly Algorithm pada Permasalahan Bin Packing Problem

Algoritma Evolusi Real-Coded GA (RCGA)

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

SISTEM PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS PADA JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS TADULAKO)

MEMBANGUN TOOLBOX ALGORITMA EVOLUSI FUZZY UNTUK MATLAB

PENERAPAN ALGORITMA GENETIK UNTUK OPTIMASI DENGAN MENGUNAKAN PENYELEKStAN RODA ROULETTE

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

BAB 2 TINJAUAN PUSTAKA

BAB II KAJIAN TEORI. berkaitan dengan optimasi, pemrograman linear, pemrograman nonlinear, quadratic

BAB II TINJAUAN PUSTAKA

Transkripsi:

LAPORAN TUGAS BESAR ARTIFICIAL INTELLEGENCE KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA Disusun Oleh : Bayu Kusumo Hapsoro (113050220) Barkah Nur Anita (113050228) Radityo Basith (113050252) Ilmi Hayyu Dinna (113050261) IF 29 05 INSTITUT TEKNOLOGI TELKOM DEPARTEMEN TEKNIK INFORMATIKA BANDUNG 2008

1. KNAPSACK PROBLEM Knapsack Problem merupakan suatu masalah bagaimana cara menentukan pemilihan barang dari sekumpulan barang dimana setiap barang mempunyai weight dan profit masing masing, sehingga dari pemilihan barang tersebut didapatkan profit yang maksimum. Knapsack problem merupakan salah satu dari persoalan klasik yang banyak ditemukan dalam literatur literatur lama dan hingga kini permasalahn tersebut masih sering ditemukan dalam kehidupan sehari hari. Contoh nyata dari Knapsack Problem ini misalnya, jika ada seorang pedagang barang kebutuhan rumah tangga yang berkeliling menggunakan gerobak. Tentu saja gerobaknya memiliki kapasitas maksimum, sehingga ia tidak bisa memasukkan semua barang dagangannya dengan seenak hatinya. Pedagang tersebut harus memilih barang barang mana saja yang harus ia angkut, dengan pertimbangan berat dari barang yang dibawanya tidak melebihi kapasitas maksimum gerobak dan memaksimalkan profit dari barang barang yang ia bawa. Banyak algoritma yang dapat digunakan untuk menyelesaikan Knapsack Problem ini, misalnya Algoritma Brute Force, Branch and Bound, Greedy, dana lain lain. Untuk tugas AI kali ini, kami akan mencoba menyelesaikan Knapsack Problem dengan menggunakan Algoritma Genetika. 2. ALGORITMA GENETIKA Algoritma genetika adalah algoritma komputasi yang diinspirasi oleh teori evolusi yang kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi suatu permasalahan dengan cara yang alamiah. Algoritma ini dikembangkan oleh Goldberg yang terinspirasi dari teori evolusi Darwin yang menyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi oleh aturan yang kuat adalah yang menang. Darwin juga mengatakan bahwa kelangsungan hidup suatu makhluk dapat dipertahankan melalui proses reduksi, crossover, dan mutasi. Sebuah solusi yang dibangkitkan dalan Algoritma Genetika disebut sebagai kromosom, sedangkan kumpulan kromosom kromosom tersebut disebut sebagai populasi. Sebuah kromosom dibentuk dari komponen komponen penyusun yang disebuat sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol atau pun karakter tergantung dari permasalahan yang ingin diselesaikan. Kromosom kromosom tersebut akan berevolusi secara berkelanjutan yang disebut dengan generasi. Dalam tiap generasi, kromosom kromosom tersebut dievaluasi tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan (fungsi_objektif) menggunakan ukuran yang disebut fitness. Untuk memilih kromosom yang tetap dipertahankan untuk generasi selanjutnya, dilakukanlah proses seleksi. Kromosom dengan nilai fitness tinggi akan memiliki peluang lebih besar untuk terpilih lagi pada generasi selanjutnya.

Offspring merupakan kromosom kromosom baru yang dibentuk dengan cara melakukan perkawinan antar kromosom dalam satu generasi, atau sering disebut sebagai proses crossover. Jumlah kromosom yang mengalami crossover ditentukan oleh parameter Pcrossover. Mekanisme perubahan susunan unsur penyusun makhluk hidup akibat adanya faktor alam disebut dengan mutasi. Jadi, mutasi direpresentasikan sebagai suatu proses berubahnya satu atau leih nilai gen dalam kromosom dengan suatu nilai acak. Jumlah gen dalam populasi yang mengalami mutasi ditentukan oleh parameter Pmutasi. Setelah beberapa generasi akan dihasilkan kromosom kromosom yang nilai gennya konvergen ke suatu nilai tertentu yang merupakan solusi terbaik yang dihasilkan oleh Algoritma Genetika terhadap permasalahan yang ingin diselesaikan. Algoritma Genetika sangat cocok untuk menyelesaikan masalah optimasi dengan ruang lingkup yang besar, karena Algoritma Genetika selalu bergerak dengan mencari sejumlah solusi sekaligus, selama solusi tersebut masih bersifat feasible (tidak melanggar constraint). Dengan seting parameter yang tepat, diharapkan salah satu dari sekian banyak solusi yang dibangkitkan oleh Algoritma Genetika merupakan solusi optimum global. Akan tetapi, Algoritma Genetika ini juga masih memiliki kelemahan yaitu ketidakpastian untuk menghasilkan solusi optimum global, karena sebagian besar dari algoritma ini berhubungan dengan bilangan random yang bersifat probabilistik. Peranan programer disini adalah memaksimalkan probabilitas dalam menghasilkan solusi optimum global dengan cara membuat suatu skema pengolahan input argumen (fungsi fitness) dan setting parameter yang tepat. 3. PENERAPAN ALGORITMA GENETIKA DALAM KNAPSACK PROBLEM Berikut adalah pengolahan fitness dan setting parameter yang kami terapkan : Representasi Barang Kami merepresentasikan barang dalam dua array, dimana array pertama berisi weight (berat) barang, dan array kedua berisi profit (keuntungan) barang. Weight : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 180 170 100 190 270 120 190 140 180 100 140 70 150 120 190 140 80 150 200 130 Profit : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 200 150 90 220 250 80 170 120 190 70 160 110 120 160 220 140 120 110 160 180 Constraint Adapun constraint yang kami gunakan dalam aplikasi ini adalah weight. Jadi,total berat dari sekumpulan barang yang dipilih tidak boleh melebihi kapasitas Knapsack.

Encoding Kromosom Untuk merepresentasikan kromosom, kami menggunakan array 1 dimensi yang berisi 1 atau 0. Misal : Kromosom : 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 Arti : Barang 1, 4, 8, 9, 10, 12, 14, 16, 18 diambil Barang 2, 3, 5, 6, 7, 11, 13, 15, 17, 19, 20 tidak diambil Termination Conditions Pencarian solusi berhenti jika terdapat > 60% kromosom yang mempunyai nilai fitnes maksimum ATAU jumlah evolusi lebih besar limit evolusi yang telah ditentukan (jika jumlah evolusi > 1000). Fitness Function Pada evolusi di dunia nyata, individu bernilai fitness tinggi akan bertahan hidup. Sedangkan individu bernilai fitnesss rendah akan mati. Pada AG, suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran niali fitness nya. Pada aplikasi ini, fitness dihitung dengan menjumlahkan profit tiap barang yang masuk ke dalam knapsack. Jika berat total dalam satu kromosom lebih besar daripada kapasitas maksimum knapsack, maka nilai fitnessnya diassign 0. Selain dihitung nilai fitnessnya, dihitung pula berat total dari tiap kromosom untuk kemudian dilakukan pengecekan, dimana apabila ada kromosom yang berat totalnya melebihi kapasitas dari knapsack, maka akan dilakukan pencarian gen dalam kromosom tersebut yang bernilai 1 untuk diganti dengan nilai 0. Hal ini dilakukan terus menerus sampai dipastikan bahwa semua kromosom tidak ada yang melanggar constraint. Untuk mencegah adanya individu yang dominan dalam suatu populasi (dalam pemilihan parent untuk dicrossover), maka diperlukan suatu fungsi Linier Fitness Ranking. Fungsi ini akan menurunkan perbedaan nilai fitness antar individu, sehingga perbedaan antara nilai fitness terbaik dengan nilai fitness terendah dapat diperkecil. Dengan begitu setiap kromosom memiliki kemungkinan untuk terpilih menjadi parent secara lebih merata (lebih adil). Selection Function Aplikasi ini menggunakan metode seleksi Roulette Wheel yang dikombinasikan dengan Elitism. Roulette Wheel merupakan suatu metode pemilihan kromosom untuk dijadikan parent, dimana komosom dengan fitness tinggi mempunyai peluang lebih besar untuk dijadikan parent. Sedangkan Elitism adalah suatu metode yang berguna untuk mempertahankan nilai best fitness suatu generasi agar tidak turun di generasi berikutnya. Dalam AG caranya adalah dengan mengcopykan individu terbaik (maxfitness) sebanyak yang dibutuhkan.

Crossover Crossover merupakan proses mengkombinasikan bit bit dalam satu kromosom dengan kromosom lain yang terpilih sebagai parent. Jumlah kromosom yang mengalami crossover ditentukan oleh parameter Pcrossover. Dimana Pcrossover ini kami assign sebesar 80%, karena kami mengharapkan 80% dari populasi mengalami crossover agar populasi individu menjadi lebih variatif. Mutation Mutation diperlukan untuk mengembalikan informasi bit yang hilang akibat crossover. Mutasi ini dilakukan pada tingkat gen, dan jumlah gen yang dimutasi kami batasi dalam suatu variabel Pmutasi sebesar 5%. Nilai ini kami rasa cukup karena semakin banyak gen yang dimutasi maka kualitas dari suatu individu bisa mengalami penurunan. Setelah dilakukan mutasi, kembali dicek untuk tiap kromosomnya apakah melanggar constraint atau tidak. Jika ada kromosom yang total beratnya melebihi kapasitas Knapsack, maka secara random, gen yang bernilai 1 akan diganti dengan 0 sampai kromosom tersebut tidak melanggar constraint. Jadi dapat disimpulkan, aplikasi kami akan selalu menemukan solusi.

FLOWCHART Start Inisialisasi populasi pertama secara random Hitung nilai fitness dan volume dari tiap kromosom, cari juga nilai fitness maks Secara random, pilih 2 kromosom untuk dijadikan parent Crossover 2 kromosom terpilih tadi No Lakukan mutasi Pengecekan coinstraint (kapasitas knapsack) Apakah terdapat > 60% kromosom yang mempunyai nilai fitnes maksimum Jumlah evolusi lebih besar limit evolusi yang telah ditentukan?? STOP Yes 4. KESIMPULAN Adapun kesimpulan yang dapat kami ambil adalah : Penerapan Algoritma Genetika dalam penyelesaian Knapsack Problem ini memiliki kelemahan yaitu ketidakpastian untuk menghasilkan solusi optimum global. Hal ini berlaku untuk semua kasus karena sebagian besar dari Algoritma Genetika ini berhubungan dengan bilangan random yang bersifat probabilistik.

Aplikasi ini akan selalu menemukan solusi, karena pengecekan apakah kromosom dalam suatu populasi dilakukan dua kali, yakni ketika inisialisasi populasi awal dan ketika kromosomkromosom telah dimutasi. 5. DAFTAR PUSTAKA [1] Suyanto. 2005. Algoritma Genetika Dalam Matlab. Yogyakarta : Penerbit Andi. [2] Suyanto. 2007. Artificial Intellegence. Bandung : Penerbit Informatika. [3] Shrestha, Dipti dan Maya Hristakeva. Solving the 0 1 Knapsack Problem with Genetic Algorithms. USA : Computer Science Department, Simpson College. [4] Permata, Anggi Shena. Pemecahan Masalah Knapsack dengan Algoritma Branch And Bound. Bandung : Institut Teknologi Bandung.

LAMPIRAN Beberapa print screen aplikasi yang kami buat: