Setelah sekian lama, akhirnya
ngeblog lagi.. Padahal udah banyak blog yang aku buat (gara-gara lupa password
hhehe)… Kali ini aku mau nulis tentang menggunakan software R untuk mendukung
pengambilan keputusan. Jadi, ceritanya disini ada permasalahan terus coba
dipecahkan permasalahannya itu menggunakan software R.
Sebelum masuk ke permasalahannya,
aku mau jelasin dulu tentang software R. Jadi, apa sih R itu?
Pengertian Software R
Kalo secara definisinya, R itu
merupakan software open-source yang biasanya dan banyak digunakan untuk
lingkungan statistic dan grafik. Software R dapat dijalankan di berbagai system
operasi antara lain : windows, Mac, dan Linux. Yah, sedikit saja bicara tentang R-nya ya,,,
Karena dalam kasus yg akan
dibahas disini akan memadukan penggunaan Genetic Algorithm (GA) dengan software
R, maka disini aku mau jelasin juga tentang GA.
Pengertian Genetic Algorithm (GA)
GA adalah teknik pencarian dalam
bidang komputansi untuk menemukan solusi terbaik atau pendekatan yang digunakan untuk mengoptimasi suatu solusi. Teknik dalam GA didasarkan pada biologi evolusioner
seperti pewarisan, mutasi, seleksi, dan crossover. GA diimplementasikan sebagai
proses simulasi. Dalam GA, biasanya terdapat 2 hal yang harus didefinisikan :
- Representasi genetis dari domain solusi
- Fungsi fitness untuk mengevaluasi solusi domain
Representasi standar dari solusi
adalah array of bits. Fungsi fitness merupakan representasi genetis
dan kualitas representasi solusi. Setelah keduanya didefinisikan, GA lanjut ke
proses inisialisasi, lalu berkembang melalui perulangan aplikasi mutasi,
crossover, dan seleksi.
Well, aku pikir sekilas informasi
tentang R dan GA sudah cukup. Sekarang kita masuk ke penyelesaian masalah
menggunakan GA dalam software R. Sebelumnya, aku akan memberikan contoh
kasusnya…
Contoh Kasus
Toko Usaha Maju merupakan sebuah
UKM yang memproduksi sepatu kategori wedges. Produk-produk yang diproduksi
memiliki berbagai macam model dengan rincian sebagai berikut:
Pada tahun 2012, Toko Usaha Maju
mengalami krisis. Untuk menghemat biaya, maka Toko Usaha Maju memutuskan hanya
memproduksi beberapa model sepatu dari total model sepatu yang pernah
diproduksinya. Adapun budget yang dimiliki oleh Toko Usaha Maju sebesar Rp 15.000.000. Toko Usaha Maju, kemudian
bingung menentukan model sepatu apa saja yang akan diproduksi guna
memaksimalkan keuntungan penjualan.
Nah, dari contoh kasus tersebut
sekarang bisa kita lakukan penyelesaiannya…
Implementasi Solusi pada R
Untuk mengimplementasikan solusi
ini, saya menggunakan dua library, yaitu genalg dan ggplot2. Pastikan library
sudah terinstal. Untuk menginstallnya cukup dengan mengetikkan seperti berikut.
Kemudian lakukan pemanggilan
terhadap library yang baru diinstal tersebut. Caranya seperti berikut.
library(genalg)
library(ggplot2)
Setelah itu, barulah dapat
dilakukan pemodelan terhadap data yang ada dalam table. Untuk melakukannya,
disini menggunakan data frame. Selain itu, disini juga dilakukan pendefinisian
batasan budget yang dimiliki. Sehingga apabila dituliskan dalam R adalah
sebagai berikut.
dataset <- data.frame(model = c("Blow Wedges Slingback Cross Upper Beige", "Blow Open Toe Slingback Wedges Navy", "Tolliver Wedges Peep Toe Shoes with Synthetic Leather and Strap", "Blow Open Toe Slingback Wedges Khaki", "ShoeBank Fabric Strap Wedges Shoes", "Quinna Molla Lenore Wedges Black", "Quinna Molla Lenore Wedges Tan", "Fly Brenda Shoe Sandal Rose Gold", "Koumi Koumi Transparent Strap Wedges Sandals Black", "Missel Rutlyn Wedges Yellow"), keuntungan = c(1435200, 1339200, 859200, 1339200, 1195200, 1723200, 1723200, 1435200, 1579200, 1723200), harga_produksi = c(2152800, 2008800, 1288800, 2008800, 1792800, 2584800, 2584800, 2152800, 2368800, 2584800))
productionlimit <- 15000000
Berikutnya adalah memasukkan
fungsi tujuan. Adapun tujuan dari kasus ini adalah memaksimalkan keuntungan
penjualan dengan menentukan model sepatu apa saja yang dapat diproduksi. Karena
GA memiliki tujuan untuk meminimalkan fungsi tujuan, maka disini kita
memberikan nilai negative untuk nilainya.
evalFunc <- function(x) {
current_solution_harga_produksi <- x %*% dataset$harga_produksi
current_solution_keuntungan <- x %*% dataset$keuntungan
if (current_solution_harga_produksi > productionlimit)
return(0) else return(-current_solution_keuntungan)
}
Pemodelan data dan pendefinisian
fungsi tujuan sudah dilakukan. Berikutnya adalah menggunakan GA untuk
menentukan solusi terbaik. Disini kita memilih desain GA, jumlah iterasi, dan
menjalankan GA menggunakan kode berikut:
iter = 100
GAmodel <- rbga.bin(size = 10, popSize = 200, iters = iter, mutationChance = 0.01, elitism = T, evalFunc = evalFunc)
cat(summary.rbga(GAmodel))
Hasilnya adalah sebagai berikut :
Sehingga hasil yang didapatkan untuk
solusi terbaik dari permasalahan adalah 0 1 1 1 0 1 1 1 1 0. Ini berarti model yang harus
diproduksi saat krisis ini adalah sebagai berikut:
cat(solution %*% dataset$keuntungan)
Sehingga keuntungan maksimal sebesar Rp 9.998.400
Minggu, 17 Maret 2013
// //
0
komentar
//
0 komentar to "General Algorithm Menggunakan R"
Diberdayakan oleh Blogger.
You can replace this text by going to "Layout" and then "Page Elements" section. Edit " About "







Posting Komentar